Ansible:未定义的变量

Ansible: Undefined Variable

我正在通过 set_fact 定义一个变量:但在调试期间,它显示为未定义。

代码:

---
- name: Looppback Info
  gather_facts: false
  hosts: switch
  connection: local
  serial: 1

  tasks:
    - name: Gather Switch Info
      ios_facts:

    - set_fact:
        loopback = {{ ansible_facts["net_interfaces"]["Loopback0"]["ipv4"][0]["address"] }}

    - name: Debug
      debug:
       var: loopback
...

错误:

TASK [Debug] ***********************************************************************************************************
ok: [10.119.128.4] => {
    "loopback": "VARIABLE IS NOT DEFINED!"
}

存在语法错误

- set_fact:
    loopback = {{ ansible_facts ...

正确的语法是

- set_fact:
    loopback: "{{ ansible_facts ...

    - set_fact:
        loopback: "{{ ansible_facts.net_interfaces.Loopback0.ipv4.0.address }}"

这解决了它。不得不切换到这种格式。