示例#1
0
    def get_sut_info(self):
        temdir = tempfile.mkdtemp(prefix='sut')

        nodes = self._load_pod_info()
        ansible = AnsibleCommon(nodes=nodes)
        ansible.gen_inventory_ini_dict()
        sut_info = ansible.get_sut_info(temdir)

        return self._format_sut_info(sut_info)
示例#2
0
    def __init__(self, scenario_cfg, context_cfg):
        options = scenario_cfg['options']

        self.playbook = options.get('playbook')
        if not self.playbook:
            raise RuntimeError('Playbook must be provided')
        self.playbook = os.path.join(consts.ANSIBLE_DIR, self.playbook)

        self.extra_vars = options.get('extra_vars', {})

        self.executor = AnsibleCommon(nodes=context_cfg.get('pod_info', []))
        self.executor.gen_inventory_ini_dict()
示例#3
0
    def _do_ansible_job(self, playbooks):
        self.ansible_exec = AnsibleCommon(nodes=self.nodes, test_vars=self.env)
        # playbooks relative to ansible dir
        # playbooks can also be a list of playbooks
        self.ansible_exec.gen_inventory_ini_dict()
        if isinstance(playbooks, six.string_types):
            playbooks = [playbooks]
        playbooks = [self.fix_ansible_path(playbook) for playbook in playbooks]

        tmpdir = tempfile.mkdtemp(prefix='ansible-')
        self.ansible_exec.execute_ansible(playbooks,
                                          tmpdir,
                                          verbose=self.env.get(
                                              "verbose", False))