我的清单中有两个不同的Centos版本6.x和7.x。我可以使用以下代码打印操作系统版本
- name: Get OS details
debug: msg="{{ item }}"
with_items:
- "{{ ansible_distribution_version }}"
如果OS版本是7而不是6,如何停止执行剩余的角色,反之亦然?我所有的库存都放在一个文件中。
如果我针对版本6运行代码,那么如果不是版本6,则它需要打印主机名并停止执行其余角色。
答案 0 :(得分:1)
例如,您可以使用meta
选项end_play
- name: end play if not centos6
meta: end_play
when: ansible_distribution_version == "centos6"
https://docs.ansible.com/ansible/latest/modules/meta_module.html
中的更多信息您可能想做的就是将设置任务分为tasks/centos6.yml
和tasks/centos7.yml
,并且仅在剧本中包含相关文件,例如
- name: setup centos7
include: tasks/centos7.yml
when: ansible_distribution_version == centos7