我写这个:
- name: test for seed
debug:
var: hostvars|json_query("*.ansible_host")
它打印每个主机。但这不会过滤主机:
- name: test for seed
debug:
var: hostvars|json_query("*[?ansible_host=='192.168.56.101']")
它只打印一个空列表,而我确定这个主机存在。这是相关的库存线:
[build-servers]
build-server ansible_host=192.168.56.101
我做错了吗?
答案 0 :(得分:3)
您应该过滤结果列表,而不是原始哈希:* | [?ansible_host=='192.168.168.21']
P.S。您通常不希望使用var
模块的debug
选项来打印Jinja语句,而是使用msg
。