Ansible - 防止为未使用的主机收集事实

时间:2018-01-30 13:27:19

标签: ansible

我有一个playbook.yml

- name: Play1
  hosts: vm1
  ...
  tags: pl1

- name: Play2
  hosts: vm2
  ...
  tags: pl2

现在想象一下场景,vm1已经死了,我暂时不关心它,我想只跑这样的第二场比赛:

ansible-playbook playbook.yml --tags=pl2

但是现在,Ansible在收集vm1的事实时失败了。有没有办法指示Ansible更聪明,完全忽略其他剧本?为什么它甚至会这样做?

2 个答案:

答案 0 :(得分:3)

如果您真的认为这是管理服务器的最佳方式......

使用gather_facts: false并明确添加setup任务:

- name: Play1
  gather_facts: no
  hosts: vm1
  pre_tasks:
    - setup:
  ...
  tags: pl1

答案 1 :(得分:0)

我认为您正在寻找的是--limit选项,该选项仅在指定的主机和/或组上运行任务。

ansible-playbook playbook.yml --limit=vm2

https://docs.ansible.com/ansible/2.9/user_guide/intro_patterns.html