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