每当我运行我的剧本时,都会出现以下警告:
[警告]:在从 /etc/ansible/roles/foo/tasks/main.yml 构建映射时,第 17 行第 3 列,发现重复的 dict 键(文件)。仅使用最后定义的值。
我在任务文件夹中的 main.yml 的相关部分是这样的:
(第 17 行是清理文件的任务,这似乎有点不对劲,所以我猜问题出在前面的“脚本”行)
- name: Run script to format output
script: foo.py {{ taskname }} /tmp/fcpout.log
- name: Clean temp files
file: path=/tmp/fcpout.log state=absent
还有我的 vars 文件:
---
my_dict: {SLM: "114", Regular: "255", Production: "1"}
taskid: "{{my_dict[taskname]}}"
要运行我的剧本,我会:
ansible-playbook playbooks/foo.yml --extra-vars "server=bar taskname=SLM"
我想要做的是获取命令行参数,设置主机:使用“服务器”参数,获取任务名并从中找出 id 所指的。此 id 用作远程运行的 python 脚本的第一个输入。
该剧本工作正常,但我不明白为什么会收到警告。谁能解释这里有什么问题?