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

问题描述 投票:0回答:1

鉴于以下剧本(使用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时,此警告也会被打印出来,因此即使检查目录是否存在,它也会被打印出来。

如何抑制此警告?

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

ansible
1个回答
2
投票

此警告由fileglob查找插件生成(由find_file_in_search_pathLookupBase更精确)。所以在你点击任何when声明之前就已经发生了。

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

或补丁插件here设置ignore_missing=True

© www.soinside.com 2019 - 2024. All rights reserved.