没有主机返回时,Playbook不会因EC2而失败

时间:2017-03-03 06:51:57

标签: amazon-ec2 ansible

当使用静态库存时没有找到主机时,通常ansible playbook任务会失败。但是当使用EC2.py并且当没有主机返回时,playbook不会失败,这阻止我们通知任务没有在具有自动化任务的特定实例上运行。

以下是未找到主持人时的剧本输出

PLAY RECAP *********************************************************************

Finished: SUCCESS

有没有人遇到过这个问题,或者有没有选择改变它的行为?请帮忙

1 个答案:

答案 0 :(得分:0)

即使广告资源中没有主机,您仍然可以针对localhost运行代码。

因此对localhost进行一些检查:

- hosts: localhost
  tasks:
    - debug:
        msg: No hosts found in us-gov-west-1 region
      when: (groups['us-gov-west-1'] is undefined) or (groups['us-gov-west-1'] | length == 0)
      failed_when: true

如果生成的广告资源不包含us-gov-west-1组内的主机,则会失败。您可以进行其他检查,例如检查那里至少有n个条目等。

你可以在剧本的开头或结尾添加这样的支票,如果不满足某些先决条件,这将确保ansible失败。