def add_or_update_vars(self, target): """ Creates host and/or group vars and returns None. :param target: A string containing either `host_vars` or `group_vars`. :returns: None """ if target == 'host_vars': vars_target = copy.deepcopy(self.host_vars) # Append the scenario-name for instance_name, _ in self.host_vars.items(): if instance_name == 'localhost': instance_key = instance_name else: instance_key = util.instance_with_scenario_name( instance_name, self._config.scenario.name) vars_target[instance_key] = vars_target.pop(instance_name) elif target == 'group_vars': vars_target = self.group_vars if not vars_target: return ephemeral_directory = self._config.ephemeral_directory target_vars_directory = os.path.join(ephemeral_directory, target) if not os.path.isdir(os.path.abspath(target_vars_directory)): os.mkdir(os.path.abspath(target_vars_directory)) for target in vars_target.keys(): target_var_content = vars_target[target] path = os.path.join(os.path.abspath(target_vars_directory), target) util.write_file(path, util.safe_dump(target_var_content))
def instances_with_scenario_name(self): instances = copy.deepcopy(self.instances) for instance in instances: instance_name = instance['name'] scenario_name = self._config.scenario.name instance['name'] = util.instance_with_scenario_name( instance_name, scenario_name) return instances
def test_instance_with_scenario_name(): assert "foo-bar" == util.instance_with_scenario_name("foo", "bar")
def test_instance_with_scenario_name(): assert 'foo-bar' == util.instance_with_scenario_name('foo', 'bar')
def test_instance_with_scenario_name(): assert 'foo-bar' == util.instance_with_scenario_name('foo', 'bar')
def instance_with_scenario_name(molecule_file, instance_name): c = config.Config(molecule_file) return util.instance_with_scenario_name(instance_name, c.scenario.name)