ansible-facts相关内容

如何在vars中使用已注册的ansible变量的字典?

我想使用vars将多个变量传递给任务.目前,我正在执行以下操作 vars: var1_name: "var1_value" var2_name: "var2_value" 随着变量数量的增加,我宁愿使用vars将变量字典传递给任务.我已经构造了一个像下面这样的变量字典 - name: set fact hosts: localhost tasks: - ..
发布时间:2020-09-02 19:53:16 其他开发

如何使用Ansible收集有关磁盘的事实

我正在尝试编写Ansible剧本,以识别RHEL机器上新添加的磁盘.计划是在创建新磁盘之前,在该时间点运行剧本并缓存磁盘.创建新磁盘后,将再次运行相同的剧本,并计算磁盘创建前后磁盘之间的差异. 例如,lsblk最初返回以下内容: NAME SIZE TYPE sda 100G disk ├─sda1 1 ..
发布时间:2020-09-02 19:40:42 其他开发

调用第二本Playbook时如何将Ansible Playbook切换到另一台主机

我有两个剧本-我的第一个剧本在ESXi服务器列表上进行迭代,以获取所有VM的列表,然后将该列表传递给第二个剧本,该剧本应在VM的IP上进行迭代.相反,它仍在尝试在最后的ESXi服务器上执行.我必须将主机切换到当前传递给第二本剧本的VM IP.不知道该如何切换...有人吗? 第一本剧本: - name: get VM list from ESXi hosts: all task ..
发布时间:2020-09-02 19:39:17 其他开发

在Jinja模板中使用Ansible控制主机的IP地址

我想在Ansible剧本使用的J2模板中插入IP地址. IP地址不是正在供应的主机的地址,而是从其进行供应的主机的IP.到目前为止,我发现的所有内容都涉及与所配置的主机相关的变量/事实. 换句话说:执行ansible -m setup 127.0.0.1时,我要插入的IP是['ansible_default_ipv4']['address']中的IP. 我认为我可以使用本地剧本来编写动态生成 ..
发布时间:2020-09-02 19:33:23 其他开发

您如何更改ansible_default_ipv4?

我想将ansible_default_ipv4更改为指向eth1而不是eth0.我可以在剧本中还是通过--extra-vars选项来做到这一点? 解决方案 ansible使用命令 ip -4 route get 8.8.8.8获取默认的ipv4接口.您可以 将ip/路由表 更改为将eth1设置为默认路由,它将返回它. 或者您可以使用 自定义事实 . PS:使用set_fact覆 ..
发布时间:2020-09-02 19:02:37 其他开发

Ansible-收集事实之前的行动

有人知道如何做事(例如等待受管节点的端口/启动)吗?之前收集事实?我知道我可以关闭收集的事实 gather_facts: no 和 THEN 等待端口,但是如果我需要事实同时又需要等待节点启动,该怎么办? 解决方案 收集事实等同于运行 setup模块.您可以通过运行它来手动收集事实.它没有记录,只是添加一个像这样的任务: - name: Gathering facts ..
发布时间:2020-09-02 18:49:02 其他开发

获取Ansible控制机器IP地址的最佳方法

我正在使用Ansible和ufw在服务器上设置防火墙.作为ufw规则的一部分,我希望允许来自Ansible控制计算机的SSH,但不允许来自其他任何地方的SSH.我的问题是-获取控制机器本身的IP地址的最佳方法是什么,以便我可以将其放入规则中? 我知道我可以使用事实获取正在运行该剧本的计算机的IP地址,但是我看不到任何简单的方法可以自动为运行ansible的计算机获取它. 如果可能的话, ..
发布时间:2020-09-02 02:32:57 其他开发

在模块代码中使用ansible_facts

我正在尝试创建自己的ansible模块(它将更新cmdb),并且正在寻找如何在模块代码中使用ansible_facts? 我的模块脚本的示例是: #!/usr/bin/python from ansible.module_utils.basic import * import json, ast from servicenow import ServiceNow from ser ..
发布时间:2020-09-02 02:15:19 Python

如何过滤收集在剧本内的事实?

我正在从事一个仅需收集一个事实的角色. 性能是一个问题,我知道收集事实非常耗时. 我正在寻找一种在剧本中过滤gather_facts的方法,这将使我仅收集所需的事实. 这可以通过设置核心模块来实现: ansible -m setup -a 'filter=ansible_hostname' my_host 10.200.0.127 | success >> { " ..
发布时间:2020-09-02 02:08:53 其他开发

在哪里可以获取Ansible预定义变量的列表?

我看到Ansible提供了一些可在剧本和模板文件中使用的预定义变量.例如,主机ip地址是ansible_eth0.ipv4.address.谷歌搜索文档,我找不到所有可用变量的列表.有人会为我列出它们吗? 解决方案 啊!来自常见问题解答: 如何查看所有ansible_变量的列表? 默认情况下,Ansible收集有关受管理机器的“事实",并且可以在Playbook和模板中访问这些事实. ..
发布时间:2020-09-02 01:59:55 其他开发

如何在Ansible中为另一个主机使用另一个任务中的一个任务的返回值

我试图设置一个由2个mysql主机组成的主机组的mysql主从复制. 这是我的情况: 我在第一台主机上运行一个任务,并跳过第二台主机,因此第一台任务(即主复制状态)返回一些值,例如Position,File等. 然后,我在第二个主机中运行另一个任务(跳过第一个主机),该任务使用第一个任务的返回值,例如master.Position,master.File等. 现在,当我运行 ..
发布时间:2020-08-11 07:10:12 数据库

Ansible concat vars转换为字符串

我一天中的大部分时间都在尝试解决此问题,但迄今为止失败了。我正在构建一些剧本来自动执行Splunk中的功能,并尝试从清单组E.G.转换主机列表。 [search_head] 1.2.3.4 5.6.7.8 我从剧本的调试输出中获得的预期(期望)结果应为: https:// 1.2.3.4:8089、https://5.6.7.8:8089 我正在 ..
发布时间:2020-06-06 19:14:16 其他开发