Ansible:默认值下定义的变量未加载到我的剧本中

use*_*947 5 variables role ansible

我定义了一个角色 dcn-rq2 ,它在 ~/dcn-rq2/defaults/main.yml 文件中定义了一些变量,并且我编写了一个剧本,其中在顶部包含该角色,如下所示。我的理解是,角色中定义的所有 vraiables 应该自动可供剧本使用,但它会出错。

//我的剧本的顶级 YAML 文件


- hosts: DCN-VSD
  roles:
  - dcn-rq2

  tasks:

 - debug: msg="{{test_var}}"
Run Code Online (Sandbox Code Playgroud)

我的 DCN-RQ2/defaults/main.yml

---

test_var: '12'
Run Code Online (Sandbox Code Playgroud)

Fre*_*nck 2

默认值是您在角色上使用的东西。Playbook 使用host_vars&groups_vars目录来包含变量。

要添加在所有 playbook 之间共享的全局“变量”,请将“all.yml”文件放置在 group_vars 目录中。

更多信息可以在这里找到: http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable