ansible:在模板字符串中检测到递归循环

ansible:在模板字符串中检测到递归循环,ansible,ansible-playbook,Ansible,Ansible Playbook,在剧本中,我是这样使用角色的: - { role: project, project_name: "{{project_name}}" } 在“project”角色中,我实际上有一个依赖项,希望使用“project”角色的project_name变量: 但我有一个错误: recursive loop detected in template string: {{project_name}} 更改“project_name”变量的名称是唯一的解决方案吗 感谢外部变量被自动继承到角色中,因此项目

在剧本中,我是这样使用角色的:

- { role: project, project_name: "{{project_name}}" }
在“project”角色中,我实际上有一个依赖项,希望使用“project”角色的project_name变量:

但我有一个错误:

recursive loop detected in template string: {{project_name}}
更改“project_name”变量的名称是唯一的解决方案吗


感谢

外部变量被自动继承到角色中,因此
项目名称:“{{project\u name}}”
不是必需的。将您的角色声明更改为:

- project

。。。而
{{project\u name}}
变量将在您的角色中按原样提供。

好的,谢谢您的帮助。我只是想在“召唤”我的角色时说得明白些,我想我做不到。我发现以下文档有助于确定Ansible变量优先级和继承规则:附加说明:我最终将冲突变量从
vars/main.yml
移动到
default/main.yml
,解决了我的问题。我也遇到了同样的问题。我希望它的工作方式与嵌套函数调用工作方式相同,但显然不是这样。
- project