问题标签 [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.
ansible - Ansible - 从远程 Windows 主机获取事实
我正在使用 Ansible / Ansible Tower,并想确定我的 Windows 主机上可用的事实。该文档指出我可以运行以下命令:
我如何将其合并到我从 Tower 运行的剧本中,以便我可以从主机那里收集信息?
这是根据所提供帮助的当前剧本:
但是,运行它会产生以下错误:
错误!此任务“调试”具有额外的参数,仅允许在以下模块中使用:命令、外壳、脚本、包含、包含变量、添加主机、组比、设置事实、原始、元
ansible - 使用来自一个主机组的事实通过 Ansible 配置另一个主机组
我正在尝试使用来自另一组主机[etcd]的事实来配置一组主机[nodes ] 。这是我的主机文件
请注意,组[etcd]不是配置的目标 - [nodes]是。但是配置[nodes]需要了解[etcd]的事实。
这是我的剧本:
最后,这里是 files/k.j2 的模板
目标是生成一个 KUBE_ETCD_SERVERS 值,看起来像
当我运行这个剧本时,我得到控制台输出
使 etcd 事实可用于节点播放的惯用 Ansible 方法是什么?
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'}" }
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 中进行这项工作的等效方法是什么?
ansible - Ansible:获取当前目标主机的 IP 地址
如何获取角色中当前主机的IP地址?
我知道您可以获得主机所属的组列表和主机的主机名,但我无法找到获取 IP 地址的解决方案。
您可以使用获取主机名,使用获取{{inventory_hostname}}
组{{group_names}}
我尝试过像{{ hostvars[{{ inventory_hostname }}]['ansible_ssh_host'] }}
和ip="{{ hostvars.{{ inventory_hostname }}.ansible_ssh_host }}"
ansible - Ansible 存储可变事实
在这里使用 Ansible,我正在收集有关容器的事实:
运行 playbook 会产生以下结果:
我想将 eth0 值存储到文件中
我已经添加了
输出:
将输出存储到文件时
我得到以下信息:
如何在没有 Ansible 添加的任何有趣的装袋的情况下存储 IP 地址?
ansible - 从角色中的 Ansible 事实获取 MAC 地址
我正在尝试获取当前主机的 MAC 地址,以便可以在任务中使用该值。即使在阅读了文档之后,我似乎也无法理解如何做到这一点。我一直试图通过倾倒值来弄清楚结构。调用角色的剧本确实收集了事实。
这是任务的内容:
这会产生以下(截断):
但是当我尝试参考时:
我收到此错误,其中包含我正在寻找的数据:
我在这里做错了什么?
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 获取这些信息?
ansible - 使用 ansible 中的 with_items 获取多个 cloudformation 堆栈的 cloudformation_facts
我有多个 clouformation 堆栈,并将它们的名称作为列表存储在CF_TEMPLATE_ITEMS
现在我正在尝试收集有关所有这些的信息(最后我想拥有所有这些的 stack_output):
不幸的是,之后cloudformation
只包含最后一个堆栈的信息。其他人的信息似乎被覆盖了。
我可以以某种方式从堆栈名称列表中找出所有 cloudformation 堆栈的事实吗?