Ansible:未定义的变量

时间:2019-02-26 05:47:47

标签: ansible cisco ansible-facts

我正在通过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!"
}

2 个答案:

答案 0 :(得分:0)

存在语法错误

- set_fact:
    loopback = {{ ansible_facts ...

正确的语法是

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

答案 1 :(得分:0)

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

此问题已解决。不得不切换到这种格式。