鉴于以下剧本(使用Ansible 2.4.3):
- name: foo
hosts: foo
connection: local
tasks:
- include_tasks: "{{item}}"
with_fileglob: "foodir/*.yml"
当foodir
目录不存在时,Ansible会输出警告。
TASK [include_tasks] ****************************
[WARNING]: Unable to find 'foodir' in expected paths.
即使在添加when: false
时,此警告也会被打印出来,因此即使检查目录是否存在,它也会被打印出来。
如何抑制此警告?
(显然,在包含任务之前确保目录存在是一种简单的解决方法)
此警告由fileglob
查找插件生成(由find_file_in_search_path
的LookupBase
更精确)。所以在你点击任何when
声明之前就已经发生了。
因此,您要么检查路径是否存在,并且不要尝试运行with_fileglob
(通过将其分成另一个文件,我猜)。
或补丁插件here设置ignore_missing=True
。