我有playbook,我设置networking服务器。 在这个剧本中,我想知道数据库服务器的本地networkingIP地址。
所有这些服务器我在库存文件。
我怎么能做到这一点?
我试图使用hostvars,但他们只有本地服务器的事实。
使用hostvars可以在远程服务器上引用variables。 例如,假设您正在Web服务器组中的服务器上运行一个播放。 你可以在你的数据库服务器上引用variables,如下所示:
{{ hostvars['db-server.example.com']['ansible_default_ipv4']['address'] }}
请注意,为了达到此目的,您必须已经与当前播放中的db-server.example.com进行了交谈,或者在剧本中更高的位置播放了另一个播放。 Ansible 1.8(在撰写本文时仍在开发中)将通过实施可选的事实caching来补救这一点 ,这将允许您在操作手册之间保存事实。