如果firewall_allowed_ports在:
- name: port {{ item }} allowed in firewall ufw: rule: allow port: "{{ item }}" proto: tcp with_items: - 22 - "{{ firewall_allowed_ports }}"
未定义,则会发生此错误:
fatal: [host.example.com]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined.
试图解决这个问题
"{{ firewall_allowed_ports | }}"
结果是:
fatal: [host.example.com]: FAILED! => {"failed": true, "msg": "template error while templating string: expected token 'name', got 'end of print statement'. String: {{ firewall_allowed_ports | }}"}
如果firewall_allowed_ports未定义,请使用default([])创build一个空列表。 with_items将在空白时跳过。
- name: port {{ item }} allowed in firewall ufw: rule: allow port: "{{ item }}" proto: tcp with_items: - 22 - "{{ firewall_allowed_ports | default([]) }}"