large commit. refactoring, fio code totally reworker, huge improvenent in test time and results, etc
diff --git a/nodes/fuel.py b/nodes/fuel.py
index 25476dc..9b1312e 100644
--- a/nodes/fuel.py
+++ b/nodes/fuel.py
@@ -1,18 +1,18 @@
import logging
-import node
+from node import Node
import fuel_rest_api
-from disk_perf_test_tool.utils import parse_creds
logger = logging.getLogger("io-perf-tool")
-def discover_fuel_nodes(root_url, credentials, roles):
+def discover_fuel_nodes(root_url, credentials, cluster_name):
"""Discover Fuel nodes"""
- user, passwd, tenant = parse_creds(credentials['creds'])
-
+ assert credentials.count(':') >= 2
+ user, passwd_tenant = credentials.split(":", 1)
+ passwd, tenant = passwd_tenant.rsplit(":", 1)
creds = dict(
username=user,
password=passwd,
@@ -21,8 +21,14 @@
connection = fuel_rest_api.KeystoneAuth(root_url, creds)
fi = fuel_rest_api.FuelInfo(connection)
+
+ clusters_id = fuel_rest_api.get_cluster_id(connection, cluster_name)
+
nodes = []
- for role in roles:
- nodes.extend(getattr(fi.nodes, role))
- logger.debug("Found %s fuel nodes" % len(fi.nodes))
- return [node.Node(n.ip, n.get_roles()) for n in nodes]
+
+ for node in fi.nodes:
+ if node.cluster == clusters_id:
+ nodes.append(node)
+ res = [Node(n.ip, n.get_roles()) for n in nodes]
+ logger.debug("Found %s fuel nodes for env %r" % (len(res), cluster_name))
+ return res