如何在同一剧本中重用具有不同变量集的 Ansible 角色

How to reuse Ansible role with different set of variables in the same playbook

我想用不同的变量集调用同一个角色两次。但是,当我 运行 剧本时,角色的第一个实例被执行,第二个调用被忽略。

详情如下

---
- hosts: server
  gather_facts: true

  roles:
    - role: upgrade_opatch_utility
      vars:
        source: /u1/software/OPatch
        opatch_file_name: p6880880_200000_Linux-x86-64.zip
        oracle_home: /u1/app/oracle/product/19.3.0/dbhome_1
        
    - role: upgrade_opatch_utility
      vars:
        source: /u1/software/OPatch
        opatch_file_name: p6880880_200000_Linux-x86-64.zip
        oracle_home: /u1/app/oracle/product/12.2.0/dbhome_1 

如何使用不同的变量集多次重新安排角色调用?

提前致谢。

FR

为每个角色调用设置不同的名称。这样 Ansible 就不会认为它们是重复的。

roles:
- name: upgrade_opatch_19
  role: upgrade_opatch_utility
  vars:
[...]
- name: upgrade_opatch_12
  role: upgrade_opatch_utility
  vars:
[...]