你可以在运行ansible而不是主机的机器上设置变量吗?

时间:2016-07-13 18:17:29

标签: ansible rackspace

(预先警告:总有新手问题):

我正在调试一个创建两个新主机的playbook,从负载均衡器中删除两个旧主机,然后将两个新主机添加到负载均衡器。我们将其中许多剧本分成了自己的剧本文件,并将它们包含在顶级剧中。

我希望能够在一个游戏中早些时候设置两个新主机的列表并让它在这些嵌套游戏之间运行ansible的机器上持续存在,以便稍后我可以运行一个抓取该列表的游戏当前在负载均衡器中的旧主机,然后使用我之前设置的新主机列表将它们添加到LB,然后使用旧主机列表将其从LB中删除。据我所知,这是执行此操作的最佳方法,因为Rackspace的rax_clb_nodes模块会从localhost更改负载均衡器。

A。)这是实现这一目标的最佳方法吗?

B。)最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

set_fact设置的事实在戏剧之间是持久的 因此,您可以为localhost设置事实,然后将其用作{{ hostvars['localhost']['my_custom_fact'] }}

请阅读Magic Variables - 例如如果您将新主机放入单独的清单组,则可以循环访问该组。