AnsibleUndefinedVariable:' list object'没有属性

时间:2017-02-08 16:22:16

标签: ansible jinja2

Yaml模板

bgp:
      local: 109
      remote: 109
      site:
         - neighbor:
              peer_ip: [ 172.16.110.3, 172.16.110.4 ]
           vpnv4:
              vrf: Site-1
              network: 109.10.1.1
              mask: 255.255.255.0
         - neighbor:
              peer_ip: [ 172.16.120.3, 172.16.120.4 ]
           vpnv4:
              vrf: Site-2
              network: 109.10.1.1
              mask: 255.255.255.0

Jinja2模板

router bgp {{ item.bgp.local }}
{% for i in item.bgp.site %}
 address-family ipv4 vrf {{ i.vpnv4.vrf }}
 network {{ i.vpnv4.network }} mask {{ i.vpnv4.mask }}
{% for b in item.bgp.site.neighbor.peer_ip %}
 neighbor {{ b }} remote-as {{ item.bgp.remote }}
 neighbor {{ b }} activate
{% endfor %}
{% endfor %}

如果我删除它就可以了。我怀疑" list"但不知道如何解决它。

{% for b in item.bgp.site.neighbor.peer_ip %}
 neighbor {{ b }} remote-as {{ item.bgp.remote }}
 neighbor {{ b }} activate
{% endfor %}

1 个答案:

答案 0 :(得分:1)

item.bgp.site实际上是你外圈的i

尝试:{% for b in i.neighbor.peer_ip %}