【问题标题】:Can Ansible AWX / Tower use group_vars and host_vars from external source / Git repository?Ansible AWX / Tower 可以使用来自外部源 / Git 存储库的 group_vars 和 host_vars 吗?
【发布时间】:2020-06-03 12:10:17
【问题描述】:

标准 CLI Ansible 在与主机文件相同的位置查找 group_varshost_vars 目录。参见例如How can I change the path of group_vars and host_vars?

Ansible AWX / Tower 可以选择使用“外部来源”进行库存。当我添加我的 Git 存储库的 URL 时,我可以选择主机文件或根目录。

我尝试了在根目录中使用主机文件的配置以及在子目录中使用主机文件的配置。据我所知,使用这两个选项,目录 group_varshost_vars 都会被忽略。

文档在这个问题上有点含糊。

将可变数据与 Tower 中的对象一起保存(请参阅 鼓励库存编辑器),而不是使用 group_vars/ 和 主机变量/。如果您使用动态库存源,Tower 可以同步此类 变量与数据库只要覆盖变量选项 未设置。 26. Best Practices — Ansible Tower User Guide v3.7.0

Tower / AWX 可以同步这些变量吗? group_vars 和/或 host_vars 中的变量?还是这种同步能力仅限于主机文件?

如果可能的话,这应该如何工作?

Ansible AWX / Tower 似乎是一条单向街道。如果您想使用 AWX,您必须将 group_varshost_vars 目录迁移到 AWX / Tower,然后就没有办法回来了吗?

Ansible 项目可以与标准 CLI Ansible 或 AWX / Tower 一起使用 - 不能同时使用!?

【问题讨论】:

    标签: ansible ansible-tower ansible-awx


    【解决方案1】:

    如果您在 GitHub 存储库(在根文件夹或子文件夹中)中使用静态 inventory 文件,则可以在此文件中放置变量。 以我的经验,这是我必须采取的方式才能让 TOWER “看到”这些变量(正如您指出的那样,似乎没有读取单独的“变量”文件夹)。

    我像往常一样设置了一个 TOWER PROJECT,同步。 然后,我在 TOWER 中设置了一个INVENTORY,并在 SOURCE 下定义了基于inventory 的 GitHub 存储库文件,并同步了 SOURCE

    这将导致 host_varsgroup_vars 被同步,并绑定到在 TOWER 上创建的主机和组(来自您定义的 INVENTORY。)

    EG:

    [ans-poc-tower]
    towernode.fqdn https_port=443
    
    [ans-poc-tower:vars]
    role=TOWER
    loc=RemoteDC
    

    参考: adding-variables-to-inventory

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多