Example #1
0
    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))
Example #2
0
    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
Example #3
0
def test_instance_with_scenario_name():
    assert "foo-bar" == util.instance_with_scenario_name("foo", "bar")
Example #4
0
def test_instance_with_scenario_name():
    assert 'foo-bar' == util.instance_with_scenario_name('foo', 'bar')
Example #5
0
def test_instance_with_scenario_name():
    assert 'foo-bar' == util.instance_with_scenario_name('foo', 'bar')
Example #6
0
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)