Ansible:import#u角色不';不要将变量暴露在剧本中

Ansible:import#u角色不';不要将变量暴露在剧本中,ansible,ansible-2.x,ansible-role,Ansible,Ansible 2.x,Ansible Role,我的最终目标是加载一些散列(或字典),并将变量用作常量。一个专门的角色似乎非常适合这个目的,因为它可以在许多剧本中重复使用。Ansible docs中的一章说: 如果roles/x/vars/main.yml存在,其中列出的变量将添加到剧本中 这意味着通过导入角色加载的变量应在后续任务/角色的播放范围内可用。一切都很完美 但我无法使其按预期工作(Ansible 2.4.2): 我做错了什么 注意:我确实向角色添加了一个任务,只是为了检查变量是否在角色内部定义。对于我的场景,我不需要任何任务,

我的最终目标是加载一些散列(或字典),并将变量用作常量。一个专门的角色似乎非常适合这个目的,因为它可以在许多剧本中重复使用。Ansible docs中的一章说:

  • 如果roles/x/vars/main.yml存在,其中列出的变量将添加到剧本中
这意味着通过导入角色加载的变量应在后续任务/角色的播放范围内可用。一切都很完美

但我无法使其按预期工作(Ansible 2.4.2):

我做错了什么

注意:我确实向角色添加了一个任务,只是为了检查变量是否在角色内部定义。对于我的场景,我不需要任何任务,只需要变量

我做错了什么

没有问题,Ansible
import\u role
include\u role
当前的工作方式如下:


使用“遗留”角色声明:

- hosts: local
  roles:
    - constants
  tasks:    
    - debug:
        var: myvar
我做错了什么

没有问题,Ansible
import\u role
include\u role
当前的工作方式如下:


使用“遗留”角色声明:

- hosts: local
  roles:
    - constants
  tasks:    
    - debug:
        var: myvar

的确没有想过检查“遗产”的方式。谢谢的确没有想过检查“遗产”的方式。谢谢