Linux 跳过当前主机并在配置文件ansible中打印其余主机

Linux 跳过当前主机并在配置文件ansible中打印其余主机,linux,ansible,devops,ansible-inventory,Linux,Ansible,Devops,Ansible Inventory,各位,在运行编辑XML的任务时,我正在尝试实现以下目标 要求: 跳过创建配置文件的当前主机,并将其余主机从资源清册组打印到配置文件 IP2:端口,IP3:端口 有人能帮助实现这个目标吗 Q:“跳过当前主机…并打印库存组中的其余主机。” 答:创建所有IP的列表,并使用filterdifference删除当前IP。例如库存 shell>cat主机 [医管局] 测试_01 IP=10.1.0.11 测试02 IP=10.1.0.12 测试03 IP=10.1.0.13 [ha:vars] 端口=456

各位,在运行编辑XML的任务时,我正在尝试实现以下目标

要求: 跳过创建配置文件的当前主机,并将其余主机从资源清册组打印到配置文件

IP2:端口,IP3:端口

有人能帮助实现这个目标吗

Q:“跳过当前主机…并打印库存组中的其余主机。”

答:创建所有IP的列表,并使用filter
difference
删除当前IP。例如库存

shell>cat主机
[医管局]
测试_01 IP=10.1.0.11
测试02 IP=10.1.0.12
测试03 IP=10.1.0.13
[ha:vars]
端口=4567
还有剧本

shell>cat playbook.yml
-主持人:哈
任务:
-设定事实:
all|IP:“{groups.ha | map('extract',hostvars,'IP')| list}”
跑一次:对
-调试:
msg:{{all_IP}差异([IP])|
产品([端口])|
映射('连接',':')|
列表}”
给出(节略)

shell>ansible playbook-i托管playbook.yml
确定:[测试\u 01]=>
味精:
- 10.1.0.12:4567
- 10.1.0.13:4567
确定:[测试02]=>
味精:
- 10.1.0.11:4567
- 10.1.0.13:4567
确定:[测试03]=>
味精:
- 10.1.0.11:4567
- 10.1.0.12:4567

将播放限制为
test\u 01
节选

shell>ansible playbook-i主机-l测试\u 01 playbook.yml
确定:[测试\u 01]=>
味精:
- 10.1.0.12:4567
- 10.1.0.13:4567
定义了一个变量 tg_hosts::“{{groups['tgzone']| map('extract',hostvars,'ansible_host')| list}”

将模板用作: {{tg_hosts | difference([ansible_hosts])| list | join(':port')+':port'}