【发布时间】:2020-03-15 00:52:56
【问题描述】:
当我尝试从 set_fact 中的另一个变量将值“附加”到变量“recdb”时,出现变量未定义错误。
下面是我的剧本:
- name: "Collecting information"
shell: "ls -l {{ item }}\n\"
register: APP
with_fileglob:
- "{{ playbook_dir }}/tmpfiles/*"
- set_fact:
fdet: "{{ APP.results|map(attribute='stdout')|list }}"
- set_fact:
recdb: "{{ recdb + inventory_hostname }}"
- set_fact:
recdb: "{{ recdb + item }}"
loop: "{{ fdet }}"
- debug: msg="SOLUTION FOR TRICKY {{ recdb }}"
recdb 变量的预期输出应如下所示:
10.7.7.111
177 0 -rw-rw-r-- 1 user1 was 0 Sep 23 10:29 /was/user1/fname1.out
177 0 -rw-rw-r-- 1 user1 was 0 Sep 23 10:29 /was/user1/fname2.out
10.9.12.11
177 0 -rw-rw-r-- 1 user1 was 0 Sep 23 10:29 /was/user1/fname1.out
177 0 -rw-rw-r-- 1 user1 was 0 Sep 23 10:29 /was/user1/fname2.out
但是,我在运行我的剧本时遇到以下错误。
致命:[10.9.12.11]:失败! => {"msg": "该任务包含一个带有未定义变量的选项。错误是:'recdb' 未定义\n\n错误似乎在 '/app/deploy.yml':第 942 行,第 6 列,但可能\n位于文件中的其他位置,具体取决于确切的语法问题。\n\n违规行似乎是:\n\n\n - set_fact:\n ^ here\n"}
【问题讨论】:
标签: variables ansible undefined