gpt4 book ai didi

ansible - 为什么角色部分中没有 Ansible 事实?

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

问题

为什么选择 Ansible 事实,例如 ansible_distribution在角色部分不可用?

---
- name: Test
hosts: all
tasks:
- name: debug
debug:
msg: "{{ ansible_distribution }}" <----- Works

roles:
- "{{ ansible_distribution }}/somerole" <---- ERROR! 'ansible_distribution' is undefined

ansible.cfg
[defaults]
error_on_undefined_vars = True

最佳答案

Why Ansible facts such as ansible_distribution are not available in Roles section?



因为 roles在执行 setup 之前解析戏剧中的字典收集事实的任务。

也就是说,根据常识,您应该可以使用 include_role模块,但也无法使用事实作为角色名称(类似于 this problem ,但您可以使用我在此处建议的解决方法,即包含具有静态名称的角色并使用 when 有条件地控制哪个一)。

通常,引用您的示例,角色旨在提供抽象级别,并且应该处理它们内部而不是外部的架构差异。

关于ansible - 为什么角色部分中没有 Ansible 事实?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444034/

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