从 python2 迁移到 python3 后,我遇到了一个问题。似乎迁移以某种方式改变了处理 json 查询的方式。也许有人暗示如何解决这个问题
vars:
vmk_out:
host_vmk_info:
hostname:
[
{
ipv4_address: "10.10.10.101",
ipv4_subnet_mask: "255.255.255.0",
stack: "defaultTcpipStack"
},
{
ipv4_address: "10.10.20.101",
ipv4_subnet_mask: "255.255.255.0",
stack: "vmotion"
}
]
tasks:
- name: Extract list of IPs
set_fact:
output: "{{ vmk_out.host_vmk_info.values() |json_query('[].ipv4_address') }}"
上面在 Python2 下运行,Ansible 2.9.1 返回 IP 地址列表,但在 Python3 下运行相同返回空列表