【问题标题】:Ansible run the same role multiple times with different vars file includedAnsible 多次运行相同的角色,包含不同的 vars 文件
【发布时间】:2016-12-02 14:55:32
【问题描述】:

我有一个角色,我想使用不同的 vars 文件多次运行,我目前正在执行以下操作:

- hosts: localhost
  pre_tasks:
      include_vars: "vars/vars1.yml"
  roles:
    - my_role

- hosts: localhost
  pre_tasks:
      include_vars: "vars/vars2.yml"
  roles:
    - my_role

有没有更少样板的方法来做到这一点?我知道它是 possible to parameterise roles,但我在 ansible 文档中找不到关于多次运行角色并每次调用不同的 include_vars 的任何内容。

【问题讨论】:

    标签: ansible


    【解决方案1】:

    不久前我想做类似的事情,结果我的库存中有两个组

    [group1]
    localhost1
    
    [group2]
    localhost2
    

    然后在 group_vars 我有不同的值。在你的情况下,那将是

    # file: group_vars/group1/main.yml
    include_file: vars/vars1.yml
    

    # file: group_vars/group2/main.yml
    include_file: vars/vars2.yml
    

    然后,您可以将您的剧本修改为类似的内容

    - hosts: all
      pre_tasks:
          include_vars: "{{ include_file }}"
      roles:
        - my_role
    

    最后,为两个组执行你的剧本

    ansible-playbook pb.yml -l group1,group2
    

    它应该照顾两个安装

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 2012-08-06
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 2020-02-16
      • 2016-08-23
      相关资源
      最近更新 更多