我想将以下文件包含在文件丢失时停止执行的内容:
vars_files:
- "{{ customer }}.yml"
不确定Ansible(2.4)中是否有类似内容。
答案 0 :(得分:1)
您不需要做任何事情 - 如果文件丢失,Ansible默认停止。例如:
ansible-playbook playbook.yml --extra-vars customer=non_existing_file
产生以下错误并停止执行:
ERROR! vars文件{{customer}}。找不到yml
我怀疑您的customer
变量未在vars_files
声明中使用的范围中设置,因此请改用include_vars
module:
- hosts: all
pre_tasks:
- include_vars:
file: "{{ customer }}.yml"
默认情况下,如果customer
未定义,则会产生错误:
致命:[localhost]:失败! => {" msg":"该任务包含一个带有未定义变量的选项。错误是:'客户'未定义\ n \ n错误似乎出现在/Users/techraf/so48065296-is-there-a-way-to-abort-execution-when-vars-file-is-missing/playbook.yml& #39;:第8行,第7列,但可能在文件的其他位置,具体取决于确切的语法问题。\ n \ n违规行似乎是:\ n \ n任务:\ n - include_vars:\ n ^ here \ n \ nexception类型:\ nexception:'客户'未定义"}