Ansible 查找插件仅返回"NOMATCH"结果



我正在Ansible上练习查找插件。

我试图从以下本地csv文件查找.csv.中找到匹配项

$ cat lookup.csv
Bruce Wayne,Batman,Human
Clark Kent,Superman,Alien
Diana Prince,Wonder Woman,Deity
Wally West,The Flash,Human
John Stewart,Green Lantern,Human

战术手册是:

$ cat lookup.yml
- hosts: localhost
user: test
become: yes
connection: ssh
gather_facts: no
tasks:
- debug: msg="Lookup the SuperHero for BRUCE WAYNE {{ lookup('csvfile','Wayne file=lookup.csv delimiter=, default=NOMATCH') }}"

我相信它应该归还比赛布鲁斯·韦恩,蝙蝠侠,人类

相反,它返回以下内容:

$ ansible-playbook lookup.yml 
PLAY [localhost] **********************************************************************************************************************
TASK [debug] **************************************************************************************************************************
ok: [localhost] => {
"msg": "Lookup the SuperHero for BRUCE WAYNE NOMATCH"
}
PLAY RECAP ****************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

这出戏我做错了什么?。

csvfile插件说:

"…查找第一列与keyname匹配的行…">

它必须完全匹配。请参阅来源。我不知道如何提交带有空格的密钥。单键很好用。例如

msg: "{{ lookup('csvfile', 'Bruce_Wayne file=lookup.csv delimiter=, default=NOMATCH') }}"

这个插件只返回一个参数。模块read_csv似乎是robuster选项。

最新更新