【问题标题】:ansible import_playbook with role tag带有角色标签的 ansible import_playbook
【发布时间】:2021-01-04 10:27:27
【问题描述】:

我有多个角色的setup.yml

setup.yml:

- hosts: localhost
  roles:
    - { role: file-download, tags: files }
    - { role: setup-nginx, tags: nginx}
    - { role: restart-vm, tags: restartvm }
    - { role: file-upload, tags: upload}
    - { role: intall-vm, tags: installvm}
    - { role: create-backup, tags: backup}
    

我可以从命令行运行:

ansible-playbook -i inventory setup.yml --tags=nginx 
ansible-playbook -i inventory setup.yml --tags=restartvm 

我怎样才能 import_playbooks 到 new.yml playbook 并只运行标签为 nginxrestartvm 的角色?

新的.yml:

- import_playbook: setup.yml --tags=nginx
- import_playbook:setup.yml --tags=restartvm 

我收到以下错误:

ERROR! Invalid variable name in vars specified for PlaybookInclude: '--tags' is not a valid variable name

感谢您的帮助

【问题讨论】:

    标签: ansible tags roles


    【解决方案1】:

    这行不通。您只能使用包含 playbook 的 yaml 文件名来提供 import_playbook

    来自the doc

    直接指定导入的playbook的名称,没有任何其他选项。

    但是,如果在您的new.yml 中,您只需拥有import_playbook: setup.yml,然后您将标签指定为ansible-playbook 选项,它就会起作用:

    ansible-playbook -i inventory new.yml --tags=my_tag
    

    【讨论】:

      猜你喜欢
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 2019-12-16
      • 1970-01-01
      相关资源
      最近更新 更多