获取叶主机组

时间:2017-11-27 13:02:22

标签: ansible jinja2

我正在尝试获取主机组下的所有节点,以便填充模板中的集群变量。我的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 \”]'...

谢谢大家的帮助,抱歉我的英语不好。

0 个答案:

没有答案