【问题标题】:Does Ansible duplicate role variables for role dependencies that enable "allow_duplicates"?Ansible 是否为启用“allow_duplicates”的角色依赖项重复角色变量?
【发布时间】:2017-05-06 06:15:27
【问题描述】:

Ansible 是否为已启用 allow_duplicatesrole dependencies 重复角色变量?

例如,假设一个剧本包含不止一次的角色application-environment 允许重复,Ansible 会创建其变量的多个副本吗?

meta/main.yml

---
allow_duplicates: yes
dependencies:
  - src: git+http://javasource/git/ansible/roles/organization
    version: 1.1.0

vars/main.yml

---
application_directory: "{{ organization.directory }}/{{ application_name }}"
application_component_directory: "{{ application_directory }}/{{ application_component_name }}"

如果 Ansible 创建这些变量的多个副本,我如何重新设计角色以支持多个变量?

【问题讨论】:

    标签: ansible


    【解决方案1】:

    您可能会发现一些有用的信息here:

    关于vars

    角色的 vars 目录中的任何内容都会覆盖命名空间中该变量的先前版本。

    关于defaults

    每个角色中的任务将看到他们自己角色的默认值。在角色之外定义的任务将看到最后一个角色的默认值。

    【讨论】:

    • 我认为我的问题是由于角色变量范围和覆盖。我曾期望某些变量在更高级别的范围内具有特定值,但没有在范围内设置这些变量,因此这些变量仍然具有由之前应用的角色分配的值。
    猜你喜欢
    • 1970-01-01
    • 2016-06-27
    • 2019-01-14
    • 2015-07-31
    • 2021-07-25
    • 2017-02-21
    • 2017-10-03
    • 2017-01-29
    • 2016-04-13
    相关资源
    最近更新 更多