我想在ansible控制节点上查找文件的内容 -
示例:
- hosts: all
vars:
somevar: "{{ lookup('file', playbook_dir + '/some/path' + inventory_hostname) }}"
如果文件不存在,我希望变量未定义或设置为默认值。但是,如果文件不存在,查找模块会抛出错误。处理此错误的正确方法是什么,以便我可以根据代码中是否存在 somevar 进行分支?
最佳答案
似乎从这篇原始文章到现在,此功能已添加到查找插件中。
对我来说它有效,我使用的是 2.8.5 版本:
https://docs.ansible.com/ansible/latest/plugins/lookup.html#using-lookup-plugins
2.6 版本中的新增功能。
您现在可以通过将 errors
设置为 ignore
来控制错误在所有查找插件中的行为方式,...
- hosts: all
vars:
somevar: "{{ lookup('file', playbook_dir + '/some/path' + inventory_hostname, errors='ignore') }}"
关于ansible - 当文件可能不存在时,如何在ansible中使用查找('file')?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29039588/