【发布时间】:2022-08-18 14:48:17
【问题描述】:
我正在使用带有files_matching 选项的include_vars 模块来加载yaml 文件。我在运行 playbook 时没有看到任何错误,但它没有加载 yaml 文件
---
- hosts: localhost
gather_facts: no
vars:
work_folder: /home/ubuntu/vars
tasks:
- name: Load yaml file
include_vars:
dir: \"/home/ubuntu/vars\"
files_matching: \"^(.*)-hive-proxy_values.yaml\"
name: hive_proxy_values
- debug:
var: \"{{ hive_proxy_values}}\"
输出
TASK [Load yaml file] *************************************************************************************************************************
task path: /home/ubuntu/hive.yaml:7
ok: [localhost] => {
\"ansible_facts\": {
\"hive_proxy_values\": {}
},
\"ansible_included_var_files\": [],
\"changed\": false
}
ok: [localhost] => {
\"<class \'dict\'>\": \"VARIABLE IS NOT DEFINED!: \"
}
文件存在于/home/ubuntu/vars 文件夹中
ls -l /home/ubuntu/vars
-rw-rw-r-- 1 ubuntu ubuntu 145 Aug 15 05:20 mtn-wbel-AAA-OAM-12x-hive-proxy_values.yaml
-
除非我更改
/home/ubuntu/vars的权限,否则我无法复制此失败,以便执行 playbook 的用户无权读取该目录。 -
不要展开它,即如果要显示变量
var: hive_proxy_values,请不要将其放入大括号\"{{ }}\"。你问调试向您显示名称存储在其中的变量的值hive_proxy_values.的价值hive_proxy_values不是另一个变量的名称。这是错误的原因:\"VARIABLE IS NOT DEFINED!: \" -
@flowerysong 你能看到
\"ansible_included_var_files\": [],的价值吗? -
是的。
\"ansible_included_var_files\": [ \"/home/ubuntu/vars/mtn-wbel-AAA-OAM-12x-hive-proxy_values.yaml\" ],
标签: ansible ansible-2.x