未解析定义的变量时,Ansible playbook不会跳过任务
我正在使用ansible LINEINFLE模块替换文件中的几行。两个变量“apache_status”&“collector_status”在运行playbook时作为额外变量传递。但是,当我没有通过收集器状态时,第二个任务由于抛出未定义变量错误而失败。当任务中定义的变量未添加到额外变量中时,我希望ansible跳过该任务。感谢您的帮助 命令:未解析定义的变量时,Ansible playbook不会跳过任务,ansible,ansible-2.x,ansible-inventory,ansible-facts,Ansible,Ansible 2.x,Ansible Inventory,Ansible Facts,我正在使用ansible LINEINFLE模块替换文件中的几行。两个变量“apache_status”&“collector_status”在运行playbook时作为额外变量传递。但是,当我没有通过收集器状态时,第二个任务由于抛出未定义变量错误而失败。当任务中定义的变量未添加到额外变量中时,我希望ansible跳过该任务。感谢您的帮助 命令:ansible playbook playbook\u name--extra vars“apache\u status=TRUE” 试试这个: - n
ansible playbook playbook\u name--extra vars“apache\u status=TRUE”
试试这个:
- name: Enable/Disable Apache service
lineinfile:
path: /apache/properities
regexp: '^active='
line: active={{ apache_status }}
- name: Enable/Disable collector
lineinfile:
path: /apache/properities
regexp: '^collector='
line: collector={{ collector_status }}
when: collector_status is defined
"msg": "The task includes an option with an undefined variable. The error was: 'collector_status' is undefined"
- name: Enable/Disable Apache service
lineinfile:
path: /apache/properities
regexp: '^active='
line: active={{ apache_status }}
- name: Enable/Disable collector
lineinfile:
path: /apache/properities
regexp: '^collector='
line: collector={{ collector_status }}
when: collector_status is defined