Ansible是一个模型驱动的配置管理,多节点部署/编排和远程任务执行系统。默认情况下使用SSH,因此您管理的节点上不会安装任何特殊软件。 Ansible可以用任何语言扩展。
我有一个要求,我想使用循环为kafka创建连接器。我想使用表列表,并想使用为 kafka 连接器创建配置的配置。例如(这是随机的
这是参考https://github.com/ansible-collections/community.zabbix/issues/1294。 基本要求是由于版本冲突而禁用 epel.repo 中的 zabbix 二进制文件。 我的问题...
无法使用 Ansible 从 XML 解析查询与名称节点对应的值节点
我有一个 XML,我需要使用 Ansible 从中解析一个值。 下面是 XML: 我有一个 XML,我需要使用 Ansible 从中解析一个值。 以下是 XML: <?xml version="1.0" encoding="utf-8"?> <Activity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.com/2005/06/StandardHeader/" xmlns="http://example.com/xsd/frm/v1/Activity/ManageInternalCustomerChangeRequest"> <ActivityDetails> <activityId>basdsds5-21aa-4ec4-b453-5f08af0fc612</activityId> <activityType>ServiceIdRecordUpdate</activityType> <activityStartDate>%DateTime%</activityStartDate> <listOfActivityAttribute> <activityAttribute> <name>CustomerId</name> <value>%CustomerId%</value> </activityAttribute> <activityAttribute> <name>AssetInstanceId</name> <value>%AssetInstanceId%</value> </activityAttribute> <activityAttribute> <name>ServiceId</name> <value>%ServiceId%</value> </activityAttribute> <activityAttribute> <name>SupplierServiceId</name> <value>%SupplierServiceId%</value> </activityAttribute> </listOfActivityAttribute> </ActivityDetails> </Activity> 我能够使用此 Ansible 任务解析和提取节点的值 activityId 即 basdsds5-21aa-4ec4-b453-5f08af0fc612 - name: Step-3:Read an element's attribute values xml: path: /tmp/test.xml xpath: /x:Activity/x:ActivityDetails/x:activityId content: text namespaces: x: "http://example.com/xsd/frm/v1/Activity/ManageInternalCustomerChangeRequest" register: xmlresp 这给了我价值 {"ansible_facts": {"Value": "basdsds5-21aa-4ec4-b453-5f08af0fc612"}, "changed": false} 但是我无法使用以下内容解析或提取 CustomerId 的值。 我尝试过在 XPath 上添加命名空间前缀,但没有成功。 - name: Step-4:Read Customer ID from BBRenumber XML xml: path: /tmp/test.xml xpath: /x:Activity/ActivityDetails/listOfActivityAttribute/activityAttribute[name='CustomerId']/value content: text namespaces: x: "http://example.com/xsd/frm/v1/Activity/ManageInternalCustomerChangeRequest" register: xmlresp1 失败并出现错误 失败了! => {"changed": false, "msg": "Xpath /x:Activity/x:ActivityDetails/x:listOfActivityAttribute/x:activityAttribute[name='CustomerId'] 未引用节点!"} 我需要使用 Ansible 提取值 %CustomerId%。 您确实必须在 everything 上添加命名空间,其中包括 name 节点:x:name! 所以,你的 XPath 最终会是这样的: xpath: >- /x:Activity /x:ActivityDetails /x:listOfActivityAttribute /x:activityAttribute[x:name='CustomerId'] /x:value 鉴于两项任务: - xml: path: /tmp/test.xml xpath: >- /x:Activity /x:ActivityDetails /x:listOfActivityAttribute /x:activityAttribute[x:name='CustomerId'] /x:value content: text namespaces: x: http://example.com/xsd/frm/v1/Activity/ManageInternalCustomerChangeRequest register: xmlresp - debug: var: xmlresp.matches.0['{' ~ _ns_x ~ '}value'] vars: _ns_x: http://example.com/xsd/frm/v1/Activity/ManageInternalCustomerChangeRequest 调试最终给出: ok: [localhost] => xmlresp.matches.0['{' ~ _ns_x ~ '}value']: '%CustomerId%' 旁注:要干燥此代码,您可以在上层定义 _ns_x,然后在“xml”任务中执行: namespaces: x: "{{ _ns_x }}"
我正在运行一个 GHA 工作流程,该工作流程使用 Ubuntu 22.04 运行程序在使用 ansible.builtin.yum 模块的每个步骤中在 Amazon Linux 2 EC2 实例上运行 Ansible playbook,例如: - 姓名:'
我正在为我的部署编写一个ansible脚本,但遇到了一个问题。我有 6 个 tomcat 节点,我在其中进行滚动部署,即首先在 3 个节点上部署并测试它。如果测试成功...
我正在尝试编写一个剧本,根据运行时传入的参数来安装和卸载自定义工具。为此,我定义了一个角色来安装它,另一个角色来卸载......
我有一个以下格式的ansible清单: [服务器:儿童] s1 s2 s3 [s1] 10.10.0.80 主机名=s1.example.com [s2] 10.10.1.80 主机名=s2.example.com [s3] jam_s3 ansible_host=10.10.2.80
我尝试创建一个 Ansible 角色来在 Linux 服务器上创建 MOTD(每日消息)。 我想在此文件中添加 ASCII 艺术,ASCII 艺术是在我的模板中使用的变量中定义的。 所以我的 ASCII 艺术...
我正在尝试集成 Terraform 和 Ansible。 我通过 VS Code 在 Windows 下工作,并且我有一个运行 Ansible 的 Ubuntu。 到目前为止,每次我想运行 Ansible playbook 或修改某些内容......
Ansible nmcli 模块,使用 bond 接口标记 vlan
我正在尝试运行以下剧本来实现其上带有 vlan 标签的绑定接口。 任务: - 名称:仅创建绑定 conn_name & ip4 gw4 模式 社区.general.nmcli: ...
我有一个下面提到的 JSON 结构,但我不知道如何遍历层次结构中的较低部分: “json”:{ “计数”:5, “下一个”:空, “上一个&q...
Ansible 中的集成 Windows 身份验证是否需要与 MSSQL 服务器的物理连接?
说明: 我目前正在设置 Ansible playbook,以使用集成 Windows 身份验证连接到 Windows 上托管的 MSSQL 数据库服务器。但是,我不确定要求...
我正在制作一个 ansible 脚本,其中变量文件将保存服务器列表,我将在其中循环并关闭它们。看来 Ansible 正在将我的列表更改为字符串,但也许我是
有没有办法将一个字典转换为另一个字典,以便根据内部字段反转查找? 我希望每个项目的内部字段都是唯一的,并且始终存在。 这是一个
如何使用 ansible 自动化 gitlab 运行程序设置?
问题: 我正在编写 Ansible 剧本来管理 GitLab Runner 注册和配置。该剧本应该: 注册 GitLab Runner 并提取其令牌和 ID。 模板配置文件...
Ansible AAP:模板化字符串时出现模板错误:没有名为“ansible.module_utils.compat.version”的模块
此任务是停用虚拟机的角色的一部分。为了单独测试导致问题的角色的一部分,我已将其放入剧本中。 我得到的错误是:“msg”:“te...
在 regex_search 或 regex_findall 中匹配多个字符串会给出不应匹配的其他字符串
虽然我检查过以前的类似问题,但似乎没有一个适用于我。 只要我们的基础设施的其余部分不会更新,我们就使用 Ansible 版本 2.9。 我下面有这个清单...
Ansible 无法将 stdout_lines 中的字符串转换为字典
我正在尝试从字典中获取“count”值 "{ \"_id\" : ObjectId(\"5d3a1643c43c898d01a3c740\"), \"count\" : 2 }" 出现在 ansible stdout_lines 的最后一个元素。 任务 [
Ansible EDA Kafka 连接错误 - 尝试在规则手册中创建与 kafka 的连接,但规则手册激活失败
我一直在尝试在规则手册中创建与 kafka 的连接,但是当我运行规则手册激活时,我遇到此错误: ansible_rulebook.rule_set_runner - 信息 - 规则集:监听 eve...
目前我正在创建一个剧本来自动化 ubuntu 服务器 20.04.4 LTS 的初始服务器设置。我创建了以下简单任务: - 名称:加入域domain.group 预计: c...