diff --git a/docker/environment/cluster_worker.py b/docker/environment/cluster_worker.py index d3940ef0b5f..2491ce68e1c 100644 --- a/docker/environment/cluster_worker.py +++ b/docker/environment/cluster_worker.py @@ -20,7 +20,7 @@ class ClusterWorkerConfigurator: def tweak_config(self, cfg, uid): return cfg - def configure_started_instance(self, bindir, instance, config, os_config, output): + def configure_started_instance(self, bindir, instance, config, output): pass def extra_volumes(self, config): diff --git a/docker/environment/provider_worker.py b/docker/environment/provider_worker.py index 76a9faa8554..36061b56487 100644 --- a/docker/environment/provider_worker.py +++ b/docker/environment/provider_worker.py @@ -25,13 +25,15 @@ def tweak_config(self, cfg, uid): sys_config['global_registry_domain'] = gr_hostname return cfg - def configure_started_instance(self, bindir, instance, config, os_config, output): - create_storages(config['os_configs'][os_config]['storages'], - output[self.nodes_list_attribute()], - config[self.domains_attribute()][instance][self.app_name()], bindir) + def configure_started_instance(self, bindir, instance, config, output): + if 'os_config' in config[self.domains_attribute()][instance]: + os_config = config[self.domains_attribute()][instance]['os_config'] + create_storages(config['os_configs'][os_config]['storages'], + output[self.nodes_list_attribute()], + config[self.domains_attribute()][instance][self.app_name()], bindir) def extra_volumes(self, config): - return [common.volume_for_storage(s) for s in config['os_config']['storages']] + return [common.volume_for_storage(s) for s in config['os_config']['storages']] if 'os_config' in config else [] def app_name(self): return "op_worker" diff --git a/docker/environment/worker.py b/docker/environment/worker.py index 0fe150c7879..57dd8855473 100644 --- a/docker/environment/worker.py +++ b/docker/environment/worker.py @@ -102,9 +102,10 @@ def _node_up(image, bindir, config, dns_servers, db_node_mappings, logdir, confi dns_list=dns_servers, command=command) - # create system users and grous - common.create_users(container, config['os_config']['users']) - common.create_groups(container, config['os_config']['groups']) + # create system users and groups (if specified) + if 'os_config' in config: + common.create_users(container, config['os_config']['users']) + common.create_groups(container, config['os_config']['groups']) return container, { 'docker_ids': [container], @@ -168,17 +169,20 @@ def up(image, bindir, dns_server, uid, config_path, configurator, logdir=None): # Workers of every cluster are started together for instance in config[configurator.domains_attribute()]: - os_config = config[configurator.domains_attribute()][instance]['os_config'] gen_dev_cfg = { 'config': { 'input_dir': input_dir, 'target_dir': '/root/bin' }, 'nodes': config[configurator.domains_attribute()][instance][configurator.app_name()], - 'db_driver': _db_driver(config[configurator.domains_attribute()][instance]), - 'os_config': config['os_configs'][os_config] + 'db_driver': _db_driver(config[configurator.domains_attribute()][instance]) } + # If present, include os_config + if 'os_config' in config[configurator.domains_attribute()][instance]: + os_config = config[configurator.domains_attribute()][instance]['os_config'] + gen_dev_cfg['os_config'] = config['os_configs'][os_config] + # Tweak configs, retrieve lis of riak nodes to start configs = [] all_db_nodes = [] @@ -224,8 +228,8 @@ def up(image, bindir, dns_server, uid, config_path, configurator, logdir=None): } } common.merge(output, domains) - configurator.configure_started_instance(bindir, instance, config, os_config, output) + configurator.configure_started_instance(bindir, instance, config, output) # Make sure domains are added to the dns server. dns.maybe_restart_with_configuration(dns_server, uid, output) - return output \ No newline at end of file + return output