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

时间:2018-02-28 14:37:54

标签: ansible

鉴于以下剧本(使用Ansible 2.4.3):

- name: foo
  hosts: foo
  connection: local

  tasks:
  - include_tasks: "{{item}}"
    with_fileglob: "foodir/*.yml"

Ansible在foodir目录不存在时打印警告。

TASK [include_tasks] ****************************
 [WARNING]: Unable to find 'foodir' in expected paths.

即使添加when: false此警告也会被打印出来,因此即使检查目录是否存在,它也会被打印出来。

如何取消此警告?

(显然,在包含任务之前确保目录存在是一种简单的解决方法)

1 个答案:

答案 0 :(得分:2)

此警告由find_file_in_search_path查找插件(LookupBase when生成)更准确。所以在你点击任何with_fileglob语句之前就已经发生了。

因此,您要么检查路径是否存在,请不要尝试运行ignore_missing=True(我想将其分成另一个文件)。

或修补程序插件here设置case class Thing(n: Int) def ThingCreator(c:Int): Thing = { val a = 10 val b = 20 c match { case 0 => Thing(1) case a => Thing(2) case b => Thing(3) case _ => Thing(4) } }