Ansible 中的明确空组

Ansible 中的明确空组

我有一套适用于各种库存的策略。有些策略并不适用于所有库存。

我可以将组从库存中移除,也可以将其添加但保留为空。在这两种情况下,在运行可选播放时都会产生警告:

[WARNING]: Could not match supplied host pattern, ignoring: myoptionalgroup

我仍然想使用这类警告来生成报告以捕捉错误 - 例如,在游戏或库存中输入了错误的组名,但当我知道这是故意的时我不希望它出现。

当我知道在给定的库存中没有适合某部剧的主机时,我怎样才能最好地抑制警告?

答案1

几乎没有办法可以抑制此警告本身,但您可以在某些情况下强制结束游戏。

例如,您可以检查当前播放运行中的主机,如果有主机则结束播放dummy

---
- hosts: localhost
  gather_facts: no
  tasks:
    - debug:
        msg: hello 1

- hosts: optional
  gather_facts: no
  pre_tasks:
    - meta: end_play
      when: ('dummy' in play_hosts)
  tasks:
    - debug:
        msg: hello 2

- hosts: localhost
  gather_facts: no
  tasks:
    - debug:
        msg: hello 3

这会:

  • optional如果组不存在或为空,则发出警告并跳过播放
  • optional如果小组中有dummy主持人,则结束游戏并执行预任务
  • 如果optional组包含其他主机且没有dummy

相关内容