Ansible Плагин Lookup возвращает только результат 'NOMATCH' - PullRequest
1 голос
/ 21 апреля 2020

Я практикую поисковый плагин на Ansible.

Я пытаюсь найти совпадение в следующем локальном CSV-файле lookup.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   

что такое Я что-то не так с пьесой?

1 Ответ

1 голос
/ 22 апреля 2020

Плагин csvfile сообщает:

"... ищет строку, в которой первый столбец соответствует имени ключа ..."

Это должно быть точное совпадение. См. источник . Я не знаю, как отправить ключ с пробелом. Клавиша с одним словом работает отлично. Например

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

Этот плагин возвращает только один параметр. Модуль read_csv выглядит как опция robuster.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...