blob: 25476dca0253626872b44c9a10d9d92f3b0a041a [file] [log] [blame]
import logging
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):
"""Discover Fuel nodes"""
user, passwd, tenant = parse_creds(credentials['creds'])
creds = dict(
username=user,
password=passwd,
tenant_name=tenant,
)
connection = fuel_rest_api.KeystoneAuth(root_url, creds)
fi = fuel_rest_api.FuelInfo(connection)
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]