如何在将include_tasks与不存在的目录一起使用时禁止显示警告?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在将include_tasks与不存在的目录一起使用时禁止显示警告?相关的知识,希望对你有一定的参考价值。

鉴于以下剧本(使用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_pathLookupBase更精确)。所以在你点击任何when声明之前就已经发生了。

因此,您要么检查路径是否存在,并且不要尝试运行with_fileglob(通过将其分成另一个文件,我猜)。

或补丁插件here设置ignore_missing=True

以上是关于如何在将include_tasks与不存在的目录一起使用时禁止显示警告?的主要内容,如果未能解决你的问题,请参考以下文章

graphql-java-tools:空参数与不存在参数

Ansible-----include

不存在与不存在

优化存在与不存在

不存在与不存在[重复]

16.Python函数函数是什么&如何调用&如何自定义函数&可变与不可变对象