ansible-facts相关内容

Ansible,如何在循环期间修改变量?

我使用的是 Ansible 2.3.0.0 并且我已经在 Ansible 2.4.0.0 中进行了测试,获得了相同的结果.我的问题很简单.我有以下列表: 变量:password_text_to_encrypt:- { 行:“{{truststore_pass }}",结果:}- { 行:“{{ keystore_pass }}",结果:}- { 行:“{{ gp_pass }}",结果:}- { ..
发布时间:2021-11-11 00:36:12 其他开发

Ansible 时间戳在整个播放过程中对所有节点都相同

我想要一个时间戳变量,它在所有主机上都是相同的.(我将其包含在目录名称中:它必须在所有主机上都相同) 我最初的想法是在 group_vars/all.yml 中添加一个声明,因为具有较高的优先级,应该共享. group_vars/all.yml: my_timestamp: "{{ ansible_date_time.date }}{{ ansible_date_time.hour ..
发布时间:2021-11-11 00:35:50 其他开发

ansible 输出打印不需要的东西.如何格式化和仅显示特定数据

我在 centos 中使用 ansible 2.4,尝试在远程服务器中运行以下脚本并获取输出.这里的问题是 yum info 输出也以 json 格式显示.但我只需要显示输出.如何去除json格式. ---- 主机:GeneralServer任务:- 名称:检查服务状态shell: systemctl status {{ item }}with_items:- httpd- 克隆- 后缀- ss ..

当条件循环时在 ansible 中搜索字符串

团队,我想在 sda 设备上循环,只排除 loop 设备,所以我试图比较字符串的一部分,如果它存在于来自 ansible_devices 项的键中变量并陷入语法错误. 我只想在 WHEN 条件满足时打印 msg.基本上,当键中有子字符串 loop 时,我只想打印 msg. 我有以下示例输出,我能够检索它,但现在我想将它与某个字符串进行比较但失败,如任务中标记的 #fails va ..
发布时间:2021-11-11 00:34:58 其他开发

Ansible concat vars to string

我花了一天的大部分时间试图解决这个问题,但到目前为止都失败了.我正在构建一些剧本来自动化 Splunk 中的功能,并尝试从库存组 E.G. 转换主机列表. [search_head]1.2.3.45.6.7.8 我对剧集调试输出的预期(期望)结果应该是:https://1.2.3.4:8089, https://5.6.7.8:8089 我正在尝试通过对正在运行的主机运行以下剧本来完成此 ..
发布时间:2021-11-11 00:33:36 其他开发

Ansible concat vars to string

我花了一天的大部分时间试图解决这个问题,但到目前为止都失败了.我正在构建一些剧本来自动化 Splunk 中的功能,并尝试从库存组 E.G. 转换主机列表. [search_head]1.2.3.45.6.7.8 我对剧集调试输出的预期(期望)结果应该是:https://1.2.3.4:8089, https://5.6.7.8:8089 我正在尝试通过对正在运行的主机运行以下剧本来完成此 ..
发布时间:2021-11-11 00:32:13 其他开发

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

我试图为由 2 个 mysql 主机组成的主机组使用 ansible 设置 mysql 主从复制. 这是我的场景: 我在第一个主机上运行一个任务并跳过第二个主机,所以第一个任务(即主复制状态)返回一些值,如位置、文件等. 然后,我在第 2 个主机上运行另一个任务(跳过第一个主机),该任务使用第一个任务的返回值,如 master.Position、master.File 等. ..
发布时间:2021-11-11 00:24:30 数据库

使用ansible从env文件中读取多个值并将它们存储为事实

我有以下代码从环境 (.env) 文件中读取值并将它们存储为事实: - name:从环境中读取值外壳:“源{{ env_path }};回显$DB_PASSWORD"寄存器:输出参数:可执行文件:/bin/bashchanged_when: 假- 名称:存储读取密码设置事实:db_password: "{{ output.stdout }}"什么时候:- db_password 未定义chang ..
发布时间:2021-11-11 00:23:08 其他开发

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

我有两个剧本 - 我的第一个剧本在 ESXi 服务器列表上迭代,获取所有虚拟机的列表,然后将该列表传递给第二个剧本,第二个剧本应该在虚拟机的 IP 上迭代.相反,它仍在尝试在最后一个 ESXi 服务器上执行.我必须将主机切换到我当前传递给第二个剧本的那个 VM IP.不知道怎么切换……有人吗? 第一个剧本: - name:从 ESXi 获取 VM 列表主持人:全部任务:- 名称:获取事实v ..
发布时间:2021-11-11 00:23:04 其他开发

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

我正在尝试编写 Ansible playbook,它将识别 RHEL 机器上新添加的磁盘.计划是在创建新磁盘之前运行剧本并在该时间点缓存磁盘作为事实.创建新磁盘后,将再次运行相同的 playbook,并计算创建磁盘前后磁盘的差异. 例如,lsblk 最初返回以下内容: 名称尺寸类型sda 100G磁盘├─sda1 1G部分└─sda2 99G部分├─rhel-root 50G lvm├─r ..
发布时间:2021-11-11 00:21:50 其他开发

在 Jinja 模板中使用 Ansible control master 的 IP 地址

我想在 Ansible 剧本使用的 J2 模板中插入一个 IP 地址.该 IP 地址是不是正在供应的主机的地址,而是完成供应的主机的 IP.到目前为止,我发现的所有内容都涵盖了使用与正在配置的主机相关的变量/事实.换句话说:当执行 ansible -m setup 127.0.0.1 时,我想插入的 IP 是 ['ansible_default_ipv4']['address'] 中的 IP. ..
发布时间:2021-11-11 00:20:58 其他开发

Ansible - 包含来自远程主机的 vars 文件

我想包含远程主机上文件中的变量,而不是运行 Ansible 的控制机器. 例如我有一个文件/var/database_credentials.yml(在我的网络服务器上) 将变量从该文件添加到主机变量以便我可以在模板中使用它们的最佳方法是什么? include_vars 模块只从控制机器获取文件.我可以使用 fetch 模块,但这似乎是不必要的步骤. 解决方案 将其与 / ..
发布时间:2021-11-11 00:14:40 其他开发

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

我正在使用 Ansible 和 ufw 在我的服务器上设置防火墙.作为 ufw 规则的一部分,我希望允许来自 Ansible 控制机器的 SSH,但不允许来自其他任何地方.我的问题是 - 获取控制机器本身的 IP 地址以便我可以将其纳入规则的最佳方法是什么? 我知道我可以使用 facts 获取我正在运行剧本的机器的 IP 地址,但我没有看到任何简单的方法可以为运行 ansible 的机器自动 ..
发布时间:2021-11-11 00:14:09 其他开发

你如何更改ansible_default_ipv4?

我想将 ansible_default_ipv4 更改为指向 eth1 而不是 eth0.我可以在剧本中或通过 --extra-vars 选项执行此操作吗? 解决方案 ansible 使用命令 ip -4 route get 8.8.8.8 来获取默认的 ipv4 接口.您可以更改您的 ip/路由表 使 eth1 成为默认路由,它会返回它. 或者您可以使用 自定义事实. PS: ..
发布时间:2021-11-11 00:09:56 其他开发

Ansible - 在收集事实之前采取的行动

有谁知道如何做一些事情(例如等待托管节点的端口/启动)之前收集事实?我知道我可以关闭收集事实 gather_facts: 没有 和THEN等待端口但如果我需要事实同时还需要等到节点启动怎么办? 解决方案 收集事实相当于运行 设置模块.您可以通过运行它来手动收集事实.它没有记录,只是简单地添加一个这样的任务: - 名称:收集事实设置: 结合 gather_facts: no 在剧本级 ..
发布时间:2021-11-11 00:07:22 其他开发

Ansible 迭代由变量设置的清单组中的主机

我的角色模板中有下一个片段: 上游门户{{% 设置节点 = 组["my_dev_cluster"] %}{% 用于节点中的节点 %}...对节点做一些事情...{% 结束为 %}} 而且效果很好. 但是当我尝试像这样参数化库存组名称时: 上游门户{{% set nodes = groups["{{cluster_name}}"] %}{% 用于节点中的节点 %}...对节点做一些事情. ..

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

我想使用 vars 将多个变量传递给任务.目前,我正在这样做 变量:var1_name: "var1_value"var2_name: "var2_value" 随着变量数量的增加,我更愿意使用 vars 将变量字典传递给任务.我已经构建了一个像下面这样的变量字典 - 名称:设置事实主机:本地主机任务:- 设置事实:变量:“{{ variables|default({}) | combine ..
发布时间:2021-11-11 00:02:14 其他开发