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

ansible - Ansible - 从远程 Windows 主机获取事实

我正在使用 Ansible / Ansible Tower,并想确定我的 Windows 主机上可用的事实。该文档指出我可以运行以下命令:

我如何将其合并到我从 Tower 运行的剧本中,以便我可以从主机那里收集信息?

这是根据所提供帮助的当前剧本:

但是,运行它会产生以下错误:

错误!此任务“调试”具有额外的参数,仅允许在以下模块中使用:命令、外壳、脚本、包含、包含变量、添加主机、组比、设置事实、原始、元

0 投票
1 回答
2610 浏览

ansible - 使用来自一个主机组的事实通过 Ansible 配置另一个主机组

我正在尝试使用来自另一组主机[etcd]的事实来配置一组主机[nodes ] 。这是我的主机文件

请注意,组[etcd]不是配置的目标 - [nodes]是。但是配置[nodes]需要了解[etcd]的事实。

这是我的剧本:

最后,这里是 files/k.j2 的模板

目标是生成一个 KUBE_ETCD_SERVERS 值,看起来像

当我运行这个剧本时,我得到控制台输出

使 etcd 事实可用于节点播放的惯用 Ansible 方法是什么?

0 投票
1 回答
318 浏览

ansible - 挖掘 Ansible 事实

我有一本剧本

它返回每台机器的完整 json 表示。如何在剧本中进一步过滤,以便我只得到 iso8601_basic_short 部分

任务[调试] ********************************************** ************************

ok: [10.99.97.222] => { "msg": "time = {u'weekday_number': u'2', u'iso8601_basic_short': u'20160906T182117', u'tz': u'BST', u' weeknumber': u'36', u'hour': u'18', u'year': u'2016', u'minute': u'21', u'tz_offset': u'+0100', u '月': u'09', u'epoch': u'1473182477', u'iso8601_micro': u'2016-09-06T17:21:17.761900Z', u'weekday': u'Tuesday', u'时间': u'18:21:17', u'日期': u'2016-09-06', u'iso8601': u'2016-09-06T17:21:17Z', u'day': u '06', u'iso8601_basic': u'20160906T182117761843', u'second': u'17'}" }

ok: [10.99.97.216] => { "msg": "time = {u'weekday_number': u'2', u'iso8601_basic_short': u'20160906T182117', u'tz': u'BST', u' weeknumber': u'36', u'hour': u'18', u'year': u'2016', u'minute': u'21', u'tz_offset': u'+0100', u '月': u'09', u'epoch': u'1473182477', u'iso8601_micro': u'2016-09-06T17:21:17.938563Z', u'weekday': u'Tuesday', u'时间': u'18:21:17', u'日期': u'2016-09-06', u'iso8601': u'2016-09-06T17:21:17Z', u'day': u '06', u'iso8601_basic': u'20160906T182117938491', u'second': u'17'}" }

0 投票
1 回答
1505 浏览

ansible - 覆盖类似于 Puppet 和 Facter 覆盖的 Ansible 事实

注意:Puppet 到 Ansible 迁移评估的一部分。Ansible 菜鸟。

CentOS 7 返回operatingsystemrelease(puppet) 或ansible_distribution_version(ansible) 为 7.2.1511 而不仅仅是 7.2。因此,在 puppet 中,我们使用以下 hack。

设置环境变量FACTER_operatingsystemrelease会覆盖该operatingsystemrelease值。这只需要在 CentOS 7 上发生。CentOS 6 工作正常。

在 Ansible 中进行这项工作的等效方法是什么?

0 投票
1 回答
472 浏览

ansible - Ansible rds 'facts' 没有返回给我 ARN

我需要使用RDS Module提供的 fact 关键字来查找我的 Db 实例的 ARN 。以下是基本玩法:

该剧的输出:

由于输出中没有提供 ARN,如何检索它?

0 投票
10 回答
335281 浏览

ansible - Ansible:获取当前目标主机的 IP 地址

如何获取角色中当前主机的IP地址?

我知道您可以获得主机所属的组列表和主机的主机名,但我无法找到获取 IP 地址的解决方案。

您可以使用获取主机名,使用获取{{inventory_hostname}}{{group_names}}

我尝试过像{{ hostvars[{{ inventory_hostname }}]['ansible_ssh_host'] }}ip="{{ hostvars.{{ inventory_hostname }}.ansible_ssh_host }}"

0 投票
1 回答
945 浏览

ansible - Ansible 存储可变事实

在这里使用 Ansible,我正在收集有关容器的事实:

运行 playbook 会产生以下结果:

我想将 eth0 值存储到文件中

我已经添加了

输出:

将输出存储到文件时

我得到以下信息:

如何在没有 Ansible 添加的任何有趣的装袋的情况下存储 IP 地址?

0 投票
2 回答
12853 浏览

ansible - 从角色中的 Ansible 事实获取 MAC 地址

我正在尝试获取当前主机的 MAC 地址,以便可以在任务中使用该值。即使在阅读了文档之后,我似乎也无法理解如何做到这一点。我一直试图通过倾倒值来弄清楚结构。调用角色的剧本确实收集了事实。

这是任务的内容:

这会产生以下(截断):

但是当我尝试参考时:

我收到此错误,其中包含我正在寻找的数据:

我在这里做错了什么?

0 投票
2 回答
620 浏览

node.js - 从 Vagrant 获取主机 IP 并将其与 Ansible 一起使用

我玩 vagrant 来设置一些 droplets 并使用 ansible 部署我的 nodejs 服务器(我正在使用DigitalOcean)。我的 js 代码中有一些部分需要将当前 IP设置到脚本中。问题是我无法手动设置 IP,所以我通过 vagrant 从DO. 如何“获取”这个 IP 并在我的 Ansible 脚本中使用它?确定我可以wget http://ipinfo.io/ip -qO -在主机本身上做一个或检查它,ip但我想它也应该可以从 Vagrant 获取这些信息?

0 投票
1 回答
687 浏览

ansible - 使用 ansible 中的 with_items 获取多个 cloudformation 堆栈的 cloudformation_facts

我有多个 clouformation 堆栈,并将它们的名称作为列表存储在CF_TEMPLATE_ITEMS

现在我正在尝试收集有关所有这些的信息(最后我想拥有所有这些的 stack_output):

不幸的是,之后cloudformation只包含最后一个堆栈的信息。其他人的信息似乎被覆盖了。

我可以以某种方式从堆栈名称列表中找出所有 cloudformation 堆栈的事实吗?