2014-10-29 26 views
0

我正在嘗試爲repcached memcached製作模板。 此包含一行如下面Ansible使用庫存組的模板變量

OPTIONS="-x 192.168.XXX.XXX -X 11212" 

凡192.168.XXX.XXX是庫存組2名的條目中的一個。

基本上在2節點設置中,節點需要配置爲指向庫存組中的其他節點。

我一直在努力與jinja2模板試圖讓它使用(inventory_group - inventory_host),因爲這會給我所需的價值,但我似乎無法找到一個有效的語法。

有人有什麼建議嗎?

回答

0

玩列表可能會讓你感覺很差。我不確定這是否正確。值得注意的是,-運營商不會從列表中刪除一個項目(有趣的是,+可以連接列表,因此將項目添加到列表中)。

話雖如此,我建議你照顧這個在您的模板,像這樣(假設組被稱爲repcached):

{% for h in groups['repcached'] -%} 
{% if h != inventory_hostname %} 
OPTIONS="-x {{ hostvars[h]['ansible_default_ipv4']['address'] }} -X 11212" 
{% endif %} 
{% endfor %} 

你可能想,如果你想調整['ansible_default_ipv4']['address']部分來自其他來源的IP地址(請參閱ansible repcached -m setup輸出以查看可用選項)。

當然,這隻適用於repcached組中只有兩臺服務器的情況。如果羣組中的物品數量不是2,則可以通過在Playbook中進行保護來添加保護措施。

+0

這就是我想要的歡呼聲。 – cormpadre 2014-11-17 12:11:36