当使用静态库存时没有找到主机时,通常ansible playbook任务会失败。但是当使用EC2.py并且当没有主机返回时,playbook不会失败,这阻止我们通知任务没有在具有自动化任务的特定实例上运行。
以下是未找到主持人时的剧本输出
PLAY RECAP *********************************************************************
Finished: SUCCESS
有没有人遇到过这个问题,或者有没有选择改变它的行为?请帮忙
答案 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失败。