问题标签 [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.
amazon-ec2 - ansible ec2 az 变量
伙计们,在我的 .j2 模板中,我想像这样使用来自每个主机的 ansible 变量
但是,"msg": "AnsibleUndefinedVariable: ERROR! 'ansible_ec2_placement' is undefined"}
出现错误。
ansible 获取特定实例的可用区的正确语法是什么?ec2_facts文档很少
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 版本中被弃用。
ansible - 无法阅读 Ansible 事实
我知道访问 Ansible 事实有据可查,但我无法让这段代码正常工作。
当我运行它时,我得到这个错误:
然而,当我运行命令“ansible -i inventory -m setup”时,我确实看到了字典键:
这是我的库存文件:
我也尝试了以下 hostvars 设置,但我得到了同样的错误:
我在这里做错了什么?看起来这应该很容易。
automation - 如何操纵ansible事实?
我试图弄清楚有一种方法可以操纵 ansible 事实,例如 if ansible_default_ipv4.address
= 10.100.1.7
then 分配10.253.1.7
给剧本中的某个变量。
所以基本上我只想替换ansible_default_ipv4.address
from 100
to的第二个八进制数253
。
ansible - 在 Ansible ad-hoc 命令中使用 Ansible 事实
是否可以使用通常包含在ansible_facts
Ansible adhoc 命令中的内容?
例如,我/tmp/myFile
在所有服务器上都有一个文件,我想做:
无需为此制作完整的剧本。
ansible - 我如何使用 ansible 事实来跳过某些部分的执行?
我想通过避免调用一些不必每天调用一次以上的部分来加速 ansible playbook 的执行。
我知道事实应该允许我们实现这一点,但似乎几乎不可能找到一些基本示例:设置事实,读取它并在它具有特定值时执行某些操作,为事实设置默认值。
如果我的印象或事实只不过是可以在执行之间保存、加载和缓存的变量?
假设 hatansible.cfg
已经配置为启用事实缓存两个小时。
ansible - Ansible:如何使用 yaml 指定数组或列表元素事实?
当我们检查主机变量时:
我们得到:
我将如何指定"ansible_all_ipv4_addresses"
列表的第一个元素?
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 主机,并从其他主机获得网络数据(不做所有其他配置工作?)。
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 中没有写入任何内容。
ansible - Ansible:有没有办法从目标机器上的文件中加载事实?
使用 Ansible,我想将键值对存储在目标机器上的文件中。
它将由单独的 Ansible 角色创建/更改,可能使用添加/删除之类的操作。我已经可以为此目的使用ansible-xml模块(但是,如果以下可能使用不同的格式,我不介意)。
是否有任何“可靠”的方式来获取远程 XML(或其他格式)文件的内容并将值填充到事实(变量)中?