gpt4 book ai didi

ansible - Group_by 未按预期匹配 ansible playbook 组 - 如何使用?

转载 作者:行者123 更新时间:2023-12-02 17:10:17 24 4
gpt4 key购买 nike

我无法弄清楚如何在我的剧本中使用group_by。我的角色仅限于 RHEL6,并且我有兴趣了解如何使用 group_by 将 RHEL6 计算机与 RHEL5 计算机分开。我已经制作了一个复合键,在我的调试任务中我可以看到它被正确设置。但即使调试任务输出的复合 key 是“RedHat-6”,剧本也会跳过主机:RedHat-6

的部分<小时/>
- hosts: abc
user: myuser
sudo: yes
gather_facts: yes
tasks:
- group_by: key={{ ansible_distribution }}-{{ ansible_distribution_version | truncate(1, True, '') }}
- debug: "msg={{ ansible_distribution }}-{{ ansible_distribution_version | truncate(1, True, '') }}"

- hosts: RedHat-6
user: myuser
sudo: yes
gather_facts: yes
roles:
- somerhel6onlyrole

(我的剧本中还有 RedHat-5 的部分,但它只是调用 fail)

我无法让 group_by 主机匹配,它总是会跳过。输出如下:

TASK: [debug msg={{ansible_distribution}}-{{ansible_distribution_version | truncate(1, True, '')}}] ***
ok: [abchost1] => {
"msg": "RedHat-6"
}
ok: [abchost2] => {
"msg": "RedHat-6"
}

PLAY [RedHat-6] ***************************************************************
skipping: no hosts matched

PLAY [RedHat-5] ***************************************************************
skipping: no hosts matched

我是否错误地使用了 group_by 或者误解了它的目的?我对 ansible 比较陌生;我使用的版本是1.5.3。同样,我可以通过简单地以不同的方式验证来解决问题,但我想知道如何正确使用 group_by 。预先感谢您的帮助!

最佳答案

您已经很接近了,但您需要按如下方式引用 key :

tasks:
- group_by: key="{{ ansible_distribution }}-{{ ansible_distribution_version | truncate(1, True, '') }}"

这是由于 group_by 模块中的错误造成的。 PR在这里:https://github.com/ansible/ansible/pull/7273

关于ansible - Group_by 未按预期匹配 ansible playbook 组 - 如何使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com