Ansible:未定义的变量

问题描述 投票:-1回答:2

我通过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!"
}
ansible cisco ansible-facts
2个回答
0
投票

存在语法错误

- set_fact:
    loopback = {{ ansible_facts ...

正确的语法是

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

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.