aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/client.py')
-rw-r--r--deploy/client.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/deploy/client.py b/deploy/client.py
index 891e632c..3a9b0dec 100644
--- a/deploy/client.py
+++ b/deploy/client.py
@@ -79,8 +79,8 @@ opts = [
cfg.BoolOpt('poll_switches',
help='if the client polls switches',
default=True),
- cfg.StrOpt('machines',
- help='comma separated mac addresses of machines',
+ cfg.StrOpt('machine_file',
+ help='mac addresses and ipmi info of machines',
default=''),
cfg.StrOpt('subnets',
help='comma seperated subnets',
@@ -259,6 +259,9 @@ opts = [
cfg.StrOpt('plugins',
help='plugin dict',
default='{}'),
+ cfg.StrOpt('cluster_param',
+ help='cluster dict',
+ default='{}'),
cfg.StrOpt('offline_deployment',
help='offline_deployment',
default='Disable'),
@@ -324,12 +327,12 @@ class CompassClient(object):
'get all machines status: %s, resp: %s', status, resp)
raise RuntimeError('failed to get machines')
- machines_to_add = list(set([
- machine for machine in CONF.machines.split(',')
- if machine
- ]))
+ with open(CONF.machine_file) as fd:
+ machines_to_add = [str(m["mac"]) for m in yaml.load(fd)]
+ resp = byteify(resp)
machines_db = [str(m["mac"]) for m in resp]
+
LOG.info(
'machines in db: %s\n to add: %s',
machines_db,
@@ -803,11 +806,17 @@ class CompassClient(object):
package_config['odl_l3_agent'] = "Enable" if CONF.odl_l3_agent == "Enable" else "Disable" # noqa
package_config['onos_sfc'] = "Enable" if CONF.onos_sfc == "Enable" else "Disable" # noqa
package_config['plugins'] = []
+ package_config['cluster_param'] = []
if CONF.plugins:
for item in CONF.plugins.split(','):
key, value = item.split(':')
package_config['plugins'].append({key: value})
+ if CONF.cluster_param:
+ for item in CONF.cluster_param.split(','):
+ key, value = item.split(':')
+ package_config['cluster_param'].append({key: value})
+
status, resp = self.client.update_cluster_config(
cluster_id, package_config=package_config)
LOG.info(
@@ -974,8 +983,6 @@ class CompassClient(object):
ansible_log = "%s/work/deploy/docker/ansible/run/%s-%s/ansible.log" \
% (compass_dir, CONF.adapter_name, CONF.cluster_name)
os.system("sudo touch %s" % ansible_log)
- os.system("sudo chmod +x -R %s/work/deploy/docker/ansible/run/"
- % compass_dir)
ansible_print = multiprocessing.Process(target=print_log,
args=(ansible_log,))
ansible_print.start()