Ansible jinja2模板获取正在构建的当前IP文件

Ansible jinja2 template get current IP file being constructed

在我的 ansible 主机清单中,我得到了 3 个主机 ip,如下所示

[host-group-1]
123.23.23.21
123.23.23.22

我有一个变量如下

host_list:
  - { fileName: "master.xml", IP: {{ get_current_Execution_ip }} }
  - { fileName: "slave.xml", IP: {{ get_current_Execution_ip }} }

我的任务是根据从 IP 获取的值在 jinja2 模板中执行一些逻辑。我的问题是我如何使用这个 {{ get_current_Execution_ip }} 来获取当前 IP 文件正在通过基于各自服务器的 jinja2 模板构建。比如在123.23.23.21中构建文件,则IP值为123.23.23.21,在服务器123.23.23.22中构建,则IP值为123.23.23.22

有了这样的库存设置,您就可以访问变量 inventory_hostname。如果您将库存更改为

[host_group_1]
host1 ansible_host=123.23.23.21
host2 ansible_host=123.23.23.22

然后您可以使用 ansible_host 变量访问 IP(在第一种情况下也可用)。

如果您将清单更改为根本不列出 IP 地址(而是依靠通过 DNS 解析名称),那么您可能想查看 .[=14= 的一些答案]