基于操作系统版本的Ansible包含角色

时间:2020-01-02 18:52:06

标签: ansible

我下面有文件csi.yaml文件,它包含操作系统版本上的角色。这项工作,但是如果我在CentOS 8上运行它,则会在RHEL7-CIS任务中给skipping:消息所有任务。

roles:
   - { role: RHEL7-CIS, when: ansible_distribution == "CentOS" and ansible_distribution_major_version == '7' }
   - { role: RHEL8-CIS, when: ansible_distribution == "CentOS" and ansible_distribution_major_version == '8' }

尝试包括基于此操作系统版本的角色,但也给出错误信息。

 gather_facts: True
roles:
 - "RHEL{{ ansible_distribution_major_version }}-CIS"

错误! “ ansible_distribution_major_version”未定义

是否存在基于操作系统版本包含角色的替代方法?

谢谢 SR

1 个答案:

答案 0 :(得分:0)

您可以使用自定义回调仅禁止跳过的任务输出。有关详情,请参见此answer