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

标签 ansible ansible-playbook

在剧本中,我以这种方式使用角色:

- { role: project, project_name: "{{project_name}}" }

在“项目”角色中,我实际上有一个依赖项,想要使用“项目”角色的 project_name 变量:
---
dependencies:
  - { 
      role: users, 
      users: [
        { 
            name: "{{project_name}}", 
            home: "/home/{{project_name}}",
            shell: "/bin/bash",
            group: "{{project_name}}",
        }
     ]
   }

但我收到一个错误:
recursive loop detected in template string: {{project_name}}

更改“project_name”变量的名称是唯一的解决方案吗?

谢谢

最佳答案

外部变量会自动继承到角色中,所以 project_name: "{{ project_name }}"没有必要。将您的角色声明更改为:

- project

... 和 {{ project_name }}变量将按原样在您的角色中可用。

关于ansible:在模板字符串中检测到递归循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21738661/

相关文章:

python-2.7 - 如何获取 ansible.module_utils 来解析我的自定义目录

尝试直接从 Ansible 克隆时出现 Git fatal error

ansible - vars_files中的动态文件名

python - 防止 ansible 使用 sudo

Ansible - with_dict : dictionary - How to use variables defined in each dictionary which depends upon others

tags - Ansible-默认/显式标签

loops - 使用循环添加到 yaml 列表

Ansible 文本文件繁忙错误

Ansible:运行失败的任务

ansible - 是否有等效于查找但在目标主机而不是本地执行的?