Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible—防止为未使用的主机收集事实_Ansible - Fatal编程技术网

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

Ansible—防止为未使用的主机收集事实,ansible,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变得更聪明,而完全

我有一本
playbook.yml
,内容大致如下:

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

- name: Play2
  hosts: vm2
  ...
  tags: pl2
现在想象一下场景,
vm1
已经死了,我暂时不关心它,我只想像这样运行第二个剧本:

ansible-playbook playbook.yml --tags=pl2
但现在,Ansible在为
vm1
收集事实时出错。有没有一种方法可以指导Ansible变得更聪明,而完全忽略其他剧本?为什么它会这样做呢?

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

使用
收集事实:false
并明确添加
设置
任务:

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

我认为您需要的是
--limit
选项,它只在指定的主机和/或组上运行任务

ansible-playbook playbook.yml --limit=vm2