我的剧本中有处理程序,我想立即触发这些通知。在不调用meta_handler = flush_handler的情况下如何实现? 在ansibel 2.5.6中可以正常工作,但是在此版本之后,显示警告,提示
[WARNING]: flush_handlers task does not support when conditional
任何帮助将不胜感激。
答案 0 :(得分:1)
这是meta: flush_handlers doesn't honor when clause #41313个未解决的问题。
引用我的comment:
让我描述一个有效的情况(如下)。任务abc.yml完成之后和任务def.yml开始之前,需要“ flush_hadlers”。但是,只有OS为RH时,才会导入带有任务xyz.yml的文件。这里Ansible抱怨:
[WARNING]: flush_handlers task does not support when conditional
能够抑制警告会很好。
# cat xyz.yml
- include_tasks: abc.yml
- meta: flush_handlers
- include_tasks: def.yml
# cat playbook.yml
...
tasks:
- import_tasks: xyz.yml
when: (ansible_os_family == "RedHat" )