在Ansible 2.0 PythonAPI中将角色附加到剧本

2024-04-24 03:10:47 发布

您现在位置:Python中文网/ 问答频道 /正文

{a1}关于这个问题}

如何创建PlaybookExecutor类的实例并附加一个Ansible角色,该角色将在pbex.运行()被调用?在

这是一个示例剧本长春藤-注意角色是空列表。在

---

- hosts: 127.0.0.1
  connection: local
  gather_facts: yes

  roles: []

以下是使用API运行术语集的代码:

^{pr2}$

在pre-Ansible 2.0中,特别是在1.7中,我可以简单地附加角色的名称,如下所示(跳过导入)并调用run方法:

pb = ansible.playbook.PlayBook(
        playbook='ls.yml',
        callbacks=playbook_cb,
        runner_callbacks=runner_cb,
        stats=stats,
        host_list=host_list,
        private_key_file=p_key_file,
        check=True,
        forks=1,
        extra_vars={'remote_user': remote_user}
    )

**pb.playbook[0]['roles'].append(role_name)**

pb.run()

我想在ansible2.0中复制这个。在

谢谢


Tags: keyrunhost角色remotestatsansiblelist