我正在寻找事实,其中包含以下信息:
$ dpkg --print-architecture
amd64
Run Code Online (Sandbox Code Playgroud)
我找不到它了:
$ ansible host -m setup | grep amd64
"BOOT_IMAGE": "/boot/vmlinuz-4.19.0-6-amd64",
"ansible_kernel": "4.19.0-6-amd64",
"BOOT_IMAGE": "/boot/vmlinuz-4.19.0-6-amd64",
Run Code Online (Sandbox Code Playgroud) 我想在剧本中使用以下任务:
- include: "{{ prerequisites_file }}"
with_first_found:
- "prerequisites-{{ ansible_distribution }}.yml"
- "prerequisites-{{ ansible_os_family }}.yml"
loop_control:
loop_var: prerequisites_file
Run Code Online (Sandbox Code Playgroud)
如果找不到与架构匹配的文件,我希望它能够通过.
当按原样运行时,在这种情况下,它会产生错误:
任务[ansible-playbook:include]***************************************
致命:[ ansible-playbook]:失败了!=> {"failed":true,"msg":"使用with_first_found时未找到文件.如果没有找到文件,请使用'skip:true'选项跳过此任务"}
我知道我最后可以添加一个虚拟文件,但如果我按照建议,我该如何在skip: true
这里添加选项?
它绝对不是include
模块的参数,它应该以某种方式绑定到with_first_found
子句......