Ansible 和 vars 依赖项优先级问题

Ansible 和 vars 依赖项优先级问题

我对 vars 优先级有一些疑问,希望您能帮助我。

我目前使用 geerlingguy.ansible-role-postgresql 作为我自己的 postgresql 角色的依赖项。在 meta 中定义为依赖项,我在主要任务中使用 import_role。

我正在自己的角色上使用 vars/main.yml 来覆盖默认值,但现在我需要扩展自己的角色,有点像根据库存中的服务器属于哪个组来定义不同的变量。

为此,我使用 group_vars,但使用 vars/main.yml hack 无法覆盖。

这里的最佳做法是什么?

答案1

这里的问题是角色变量(在 role/vars/main.yml 中定义)有更高的变量优先权组变量。有两种方法可以解决这个问题:

  1. 应该可以使用包含变量模块以更高的优先级加载所需的 group_vars
  2. 分叉角色并根据您的需要进行修改

我更倾向于选择分叉这个角色。

相关内容