问题标签 [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 回答
490 浏览

amazon-ec2 - ansible ec2 az 变量

伙计们,在我的 .j2 模板中,我想像这样使用来自每个主机的 ansible 变量

但是,"msg": "AnsibleUndefinedVariable: ERROR! 'ansible_ec2_placement' is undefined"}出现错误。

ansible 获取特定实例的可用区的正确语法是什么?ec2_facts文档很少

0 投票
1 回答
14859 浏览

ansible - Ansible:ansible_domain 或 facter_domain - 如何获取清单文件中提到的主机名的域值

Ansible 1.9.2 / 1.9.4
CentOS 6.7

在我的库存文件中,我有:

当我运行时:

它给了我以下错误:

zabbix.dev-white.projectname.jenkins | FAILED => FAILED:没有可用的身份验证方法

在我的剧本中,我试图获取 zabbix 服务器的域值,即 dev-white.projectname.jenkins。我尝试了以下但用于显示域值的变量是空白/空值,为什么?

注意: inventory_hostname 的值显示正确!!但是 ansible_domain / facter_domain 的域值作为空白/空值出现。

为 some_other_zabbix_server 组变量(其中设置了 ansible_ssh_host 变量)尝试了上面的代码,仍然没有显示其域的值。PS: ansible_ssh_host 属性将在较新的 Ansible 版本中被弃用

0 投票
2 回答
4768 浏览

ansible - 无法阅读 Ansible 事实

我知道访问 Ansible 事实有据可查,但我无法让这段代码正常工作。

当我运行它时,我得到这个错误:

然而,当我运行命令“ansible -i inventory -m setup”时,我确实看到了字典键:

这是我的库存文件:

我也尝试了以下 hostvars 设置,但我得到了同样的错误:

我在这里做错了什么?看起来这应该很容易。

0 投票
2 回答
382 浏览

automation - 如何操纵ansible事实?

我试图弄清楚有一种方法可以操纵 ansible 事实,例如 if ansible_default_ipv4.address= 10.100.1.7then 分配10.253.1.7给剧本中的某个变量。

所以基本上我只想替换ansible_default_ipv4.addressfrom 100to的第二个八进制数253

0 投票
1 回答
9799 浏览

ansible - 在 Ansible ad-hoc 命令中使用 Ansible 事实

是否可以使用通常包含在ansible_factsAnsible adhoc 命令中的内容?

例如,我/tmp/myFile在所有服务器上都有一个文件,我想做:

无需为此制作完整的剧本。

0 投票
1 回答
515 浏览

ansible - 我如何使用 ansible 事实来跳过某些部分的执行?

我想通过避免调用一些不必每天调用一次以上的部分来加速 ansible playbook 的执行。

我知道事实应该允许我们实现这一点,但似乎几乎不可能找到一些基本示例:设置事实,读取它并在它具有特定值时执行某些操作,为事实设置默认值。

如果我的印象或事实只不过是可以在执行之间保存、加载和缓存的变量?

假设 hatansible.cfg已经配置为启用事实缓存两个小时。

0 投票
3 回答
26861 浏览

ansible - Ansible:如何使用 yaml 指定数组或列表元素事实?

当我们检查主机变量时:

我们得到:

我将如何指定"ansible_all_ipv4_addresses"列表的第一个元素?

0 投票
4 回答
3233 浏览

postgresql - 强制 Ansible 从组中收集事实

我想强制 Ansible 收集有关 playbook 中主机的事实(以使用角色内部的这些数据),而不考虑 --limit,但不知道如何。

我有这样的剧本:

在“postgres”角色中,我有一个模板可以遍历默认 IP:

这就像魔术一样,但前提是我在没有 --limit 的情况下运行我的剧本。如果我使用 --limit 它会中断,因为主机组中的某些主机没有收集到的事实。

失败:[pgtest] (item=pg_hba.conf) => {"failed": true, "item": "pg_hba.conf", "msg": "AnsibleUndefinedVariable: 'dict object' 没有属性 'ansible_default_ipv4'"}

我怎样才能让 --limit 只重新配置 postgres 主机,并从其他主机获得网络数据(不做所有其他配置工作?)。

0 投票
1 回答
2607 浏览

python - Ansible - 通过回调将事实放入 SQLite

使用 Ansible 2.0.2.0。试图将两个事实放入 sqlite 数据库。为了实现它,我正在使用回调插件。这是迄今为止的python脚本;

此插件以 JSON 格式返回所有 ansible 事实。但我只需要一小行代码就可以将事实输入到 sqlite 数据库中。

原始来源,但仅适用于 ansible 1.x http://jpmens.net/2012/09/11/watching-ansible-at-work-callbacks/

输出没有给出错误,但 test1.db 中没有写入任何内容。

0 投票
2 回答
2169 浏览

ansible - Ansible:有没有办法从目标机器上的文件中加载事实?

使用 Ansible,我想将键值对存储在目标机器上的文件中。

它将由单独的 Ansible 角色创建/更改,可能使用添加/删除之类的操作。我已经可以为此目的使用ansible-xml模块(但是,如果以下可能使用不同的格式,我不介意)。

是否有任何“可靠”的方式来获取远程 XML(或其他格式)文件的内容并将值填充到事实(变量)中?