【发布时间】:2021-04-05 14:11:55
【问题描述】:
我有一些变量不会改变,而一些变量会不时改变。 我希望角色中的 main.yml 列出所有静态变量,对于动态变量,我想将它们放在不同的文件中,并且每次发生更改时只包含新文件。
像这样:
main.yml:
---
var1: somevalue
var2: anothervalue
var3:
var3.1: somevalue that changes
var3.2: anothervalue that changes
除此之外,我想执行以下操作:
main.yml:
---
var1: somevalue
var2: anothervalue
invlude_vars: varsfile.yml
varsfile.yml:
---
var3:
var3.1: somevalue that changes
var3.2: anothervalue that changes
这样我不必触摸 main.yml 而是每次有任何更改时都更改 varsfile.yml。 我试过了,结果如下错误:
fatal: [hostnamehidden]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'var3.1' is undefined\n\nThe error appears to be in '.../tasks/main.yml': line 7, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Some tasks is getting executed here^ here\n"}
有什么想法吗?是否可以在角色/角色名/vars/main.yml 中执行此操作?
【问题讨论】:
-
说实话,听起来你只是做错了。如果您有经常更改的变量,则应在清单中设置它们,而不是在角色中。
-
@杰克,谢谢!是的,这是一个选项,但是这些变量会发生变化,而这些变量不会发生变化,因此我喜欢将它们放在一起。感谢您调查。