fixing, improve sersors installation code
diff --git a/wally/discover/discover.py b/wally/discover/discover.py
index 8c78387..3cd5cff 100644
--- a/wally/discover/discover.py
+++ b/wally/discover/discover.py
@@ -1,3 +1,4 @@
+import os.path
import logging
from . import ceph
@@ -9,6 +10,23 @@
logger = logging.getLogger("wally.discover")
+openrc_templ = """#!/bin/sh
+export LC_ALL=C
+export OS_NO_CACHE='true'
+export OS_TENANT_NAME='{tenant}'
+export OS_USERNAME='{name}'
+export OS_PASSWORD='{passwd}'
+export OS_AUTH_URL='{auth_url}'
+export OS_AUTH_STRATEGY='keystone'
+export OS_REGION_NAME='RegionOne'
+export CINDER_ENDPOINT_TYPE='publicURL'
+export GLANCE_ENDPOINT_TYPE='publicURL'
+export KEYSTONE_ENDPOINT_TYPE='publicURL'
+export NOVA_ENDPOINT_TYPE='publicURL'
+export NEUTRON_ENDPOINT_TYPE='publicURL'
+"""
+
+
def discover(ctx, discover, clusters_info, var_dir):
nodes_to_run = []
clean_data = None
@@ -38,7 +56,6 @@
nodes_to_run.extend(os_nodes)
elif cluster == "fuel":
-
res = fuel.discover_fuel_nodes(clusters_info['fuel'], var_dir)
nodes, clean_data, openrc_dict = res
@@ -47,6 +64,17 @@
'tenant': openrc_dict['tenant_name'],
'auth_url': openrc_dict['os_auth_url']}
+ env_name = clusters_info['fuel']['openstack_env']
+ env_f_name = env_name
+ for char in "-+ {}()[]":
+ env_f_name = env_f_name.replace(char, '_')
+
+ fuel_openrc_fname = os.path.join(var_dir,
+ env_f_name + "_openrc")
+ with open(fuel_openrc_fname, "w") as fd:
+ fd.write(openrc_templ.format(**ctx.fuel_openstack_creds))
+ msg = "Openrc for cluster {0} saves into {1}"
+ logger.debug(msg.format(env_name, fuel_openrc_fname))
nodes_to_run.extend(nodes)
elif cluster == "ceph":
diff --git a/wally/discover/fuel.py b/wally/discover/fuel.py
index 6e76188..149ec31 100644
--- a/wally/discover/fuel.py
+++ b/wally/discover/fuel.py
@@ -15,7 +15,7 @@
logger = logging.getLogger("wally.discover")
-BASE_PF_PORT = 33467
+BASE_PF_PORT = 44006
def discover_fuel_nodes(fuel_data, var_dir):
@@ -32,7 +32,7 @@
fuel_nodes = list(cluster.get_nodes())
- logger.debug("Found FUEL {0}".format("".join(map(str, version))))
+ logger.debug("Found FUEL {0}".format(".".join(map(str, version))))
network = 'fuelweb_admin' if version >= [6, 0] else 'admin'
@@ -60,15 +60,17 @@
conn_url = "ssh://root@{0}:{1}:{2}".format(fuel_host,
port,
fuel_key_file)
- nodes.append(Node(conn_url, fuel_node['roles']))
+ node = Node(conn_url, fuel_node['roles'])
+ node.monitor_url = None
+ nodes.append(node)
ips_ports.append((ip, port))
logger.debug("Found %s fuel nodes for env %r" %
(len(nodes), fuel_data['openstack_env']))
- return ([],
- (ssh_conn, fuel_ext_iface, ips_ports),
- cluster.get_openrc())
+ # return ([],
+ # (ssh_conn, fuel_ext_iface, ips_ports),
+ # cluster.get_openrc())
return (nodes,
(ssh_conn, fuel_ext_iface, ips_ports),
diff --git a/wally/discover/node.py b/wally/discover/node.py
index fad4f29..dc1c9b0 100644
--- a/wally/discover/node.py
+++ b/wally/discover/node.py
@@ -7,10 +7,20 @@
self.roles = roles
self.conn_url = conn_url
self.connection = None
+ self.monitor_url = None
def get_ip(self):
return urlparse.urlparse(self.conn_url).hostname
+ def get_conn_id(self):
+ host = urlparse.urlparse(self.conn_url).hostname
+ port = urlparse.urlparse(self.conn_url).port
+
+ if port is None:
+ port = 22
+
+ return host + ":" + str(port)
+
def __str__(self):
templ = "<Node: url={conn_url!r} roles={roles}" + \
" connected={is_connected}>"