Ansible 如何使用when块检查库存文件中的变量是否已定义并检查其是否为真
此代码段不起作用,错误消息是“任务包含一个带有未定义变量的选项。错误是:'use\u service\u mesh'未定义。”Ansible 如何使用when块检查库存文件中的变量是否已定义并检查其是否为真,ansible,ansible-inventory,Ansible,Ansible Inventory,此代码段不起作用,错误消息是“任务包含一个带有未定义变量的选项。错误是:'use\u service\u mesh'未定义。” --- - hosts: localhost tasks: - name: check debug: msg: "undefined" when: use_service_mesh is undefined - name: echo debug: msg: "All ok&q
---
- hosts: localhost
tasks:
- name: check
debug:
msg: "undefined"
when: use_service_mesh is undefined
- name: echo
debug:
msg: "All ok"
when: use_service_mesh is defined and use_service_mesh | bool
- name: echo2
debug:
msg: "{{ use_service_mesh }}"
在哪里为变量赋值?如果变量未定义,调试任务将失败。@MarcoBaldelli我在清单文件中赋值。但是我需要知道,如果“use\u service\u mesh is defined”不正确,并且在不检查第二部分的情况下返回false,是否有可能跳过第二部分?您应该证明ide显示完整的错误消息。是否确实在名为
echo
的任务中失败,而不是echo2
?是否尝试使用未定义的而不是未定义的?