我正在尝试获取主机组下的所有节点,以便填充模板中的集群变量。我的ansible主机是这样的
[des_cns]
10.0.0.1
10.0.0.2
[des_rtc]
10.0.0.11
10.0.0.12
[des_ogl]
10.0.0.21
10.0.0.22
[des:children]
des_cns
des_rtc
des_ogl
[clustered:children]
des
在启动10.0.0.1的playbook时,我可以使用group ['des_cns']来获取该组中的所有节点(这就是我想要的)但似乎我无法使用变量这样做。 whith group_names我得到这个IP匹配的所有组,但我只想要叶组。我已经设法在所有叶子组中使用_进行过滤。
我能得到的更接近的是(我确定我对这条线太过分了):
{{groups[group_names|list|join(' ')|regex_findall('[a-z]*_[a_z]*')|to_json]}}
但是返回一个错误,说dict对象没有属性'[\“des_cns \”]'...
谢谢大家的帮助,抱歉我的英语不好。