问题标签 [ansible-facts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1119 浏览

ansible - Ansible 收集集群中节点的 IP

这是一个简单的集群清单:

每个主机都有一个interface配置了 ipv4 地址。此信息可以使用setup模块收集,并将在ansible_facts.ansible_{{ interface }}.ipv4.address.

如何interface从每个单独的主机获取 IPv4 地址并使它们可用于每个主机,cluster以便每个主机知道所有集群 IP?

如何在角色中实现这一点?

0 投票
1 回答
175 浏览

ansible - 临时文件夹中的 Ansible playbook 门控事实

有一个有用的 ansible 命令可以收集事实并存储它们,就像这样,

但是 ansible-playbook -i inventory.ini 怎么能做到呢?只存储事实,但不实际运行剧本,仅用于诊断。

谢谢詹姆斯。

0 投票
1 回答
5313 浏览

ansible - How to use facts/variables defined for one playbook in another?

Lets say I have a playbook like below

I know that set_fact is bound to one host and cannot be used in another, also that you can get the IP of the client from facts {{ hostvars['client1']['ansible_eth0']['ipv4']['address'] }}. But is there a work around to define a local variable that can be referenced in multiple places in the yml file?

0 投票
1 回答
1356 浏览

ansible - Ansible 设置模块用于搜索和查找 IP 地址

我的主机有 3 个网络 IP 地址,稍后在我的剧本中需要其中一个。

在我的剧本中,我运行了以下设置模块:

提供以下输出:

我正在尝试通过使用前三个八位字节或 192.168.0 进行搜索来找到 192.168.0.63。然后,我还想将该值转化为事实,以便稍后在我的剧本中使用它。

使用 Ansible 或 Jinja2 搜索和找到该值的最佳方法是什么?

0 投票
1 回答
108 浏览

automation - 在 Ansible 的 get_uri 模块中注册此网页后设置事实或调试网页时出错

每次为注册网页设置事实时,我都会遇到问题,错误是:

u'redirected': False}]}: 模板化字符串时出现模板错误:1238 处的意外字符 u'&'

剧本如:

我的 ansible 版本是 ansible 2.2.1.0

那么,我的网页本身是否存在问题,是否有解决方案可以跳过此错误?

在排除故障后,我发现它失败是因为一行以

那么如何用这个字符跳过这一行呢?

0 投票
2 回答
1511 浏览

ansible - 使用 psexec 模块为 .exe 安装任务长时间/无限期运行 Ansible Playbook

我是 Ansible 的新手,我正在尝试从 RHEL Centos 7 Node 配置 windows 2012 R2。我可以使用 Winrm Credssp 在它们之间建立连接。下面是 /etc/ansible/group_vars/windows.yml 文件

在 /etc/ansible/hosts 文件中,我定义了 windows FQDN

当我执行 win_ping 模块以测试从中央 Linux 节点到 Windows 2012 R2 服务器的连接时,它是成功的。

但是当我尝试使用下面的 playbook 文件在本地驱动器中安装示例 .exe (VLC) 文件时,在提交 ansible-playbook playbook.yml 命令后,它一直在无限期等待,因为它没有完成 .exe 安装。注意: PsExec.exe 位置在 Windows 的 PATH 环境变量中更新。

以下是为上述剧本提交 ansible-playbook 命令后的控制台输出。

下面是不断显示相同的日志。不断等待。/var/log/ansible/日志

上述日志每 20 秒继续/更新相同。此任务 .exe 安装从未完成。

请建议我必须在 Windows 端进行哪些更改/更新,以便完成 .exe 文件安装。

0 投票
2 回答
5479 浏览

ansible - 在 Ansible 中捕获 EC2 实例的公共 IP

我正在编写将我的 Web 应用程序部署到 EC2 实例的剧本。我一直在寻找已创建实例的公共 IP。

我正在尝试使用 捕获公共 IP {{ hostvars[groups['aws'][0]]['ansible_eth0']['ipv4']['address'] }},但我得到的是私有 IP 172.31.93.XXX。

以下任务的输出是:

有没有办法使用主机的公共IP?

0 投票
1 回答
14270 浏览

ansible - ansible 输出打印不需要的东西。如何格式化和仅显示特定数据

我在 centos 中使用 ansible 2.4,尝试在远程服务器中运行以下脚本并获取输出。这里的问题是 yum 信息输出也以 json 格式显示。但我只需要显示输出。如何删除 json 格式。

我也是回调模块的新手。请帮我解决这个问题。

是否可以仅显示 stdout_lines 值。

0 投票
1 回答
1839 浏览

ansible - Redis中的ansible事实缓存

我正在尝试在剧本之间保持自定义事实(set_fact)。

IE provision something.yaml -> email.yaml

我已经为 redis配置了缓存:

我可以看到存储在 redis("ansible_facts10.1.0.7) 中的事实:

我无法理解的是如何将自定义事实添加到另一部剧中?

我的问题是,如果我需要使用redis 查找,那么使用事实缓存是没有意义的,因为我可以通过 redis 任务自己将 set_facts 写入 redis。

有没有办法在不使用以下内容的情况下自动查找 redis 缓存中的变量:

目前,我缓存事实的 redis 中的密钥将需要某种硬编码,因为它是以主机文件中的 IP 命名的,即“ansible_facts 10.1.0.7

有人可以指出我正确的方向吗?

0 投票
1 回答
124 浏览

ansible - Ansible - 如何使用深度嵌入的 ansible_fact?

我似乎无法使用此字符串访问深度嵌入的 ansible_fact:

这是我试图引用的事实树的一部分。

我将如何检查分区“root-home”?谢谢!