Ansible как использовать with_dict extra_vars? - PullRequest
0 голосов
/ 14 февраля 2020

как я могу использовать with_dict extra_vars?

Я пытаюсь, я знаю все, но все выходные данные with_dict ожидают, что дикт: (

Это все файлы

# vars.yml
rd1:
  Terry:
    user_name:terry_liu
    user_birth:1994/05/11
  Cary:
    user_name:cary_lin
    user_birth:1992/02/19
rd6:
  Jessie:
    user_name:jessie_chen
    user_birth:1996/11/20
  Sherry:
    user_name:sherry_hsu
    user_birth:1989/07/23

-

# test.yml
- name: demo
  hosts: test
  vars_files:
    - vars.yml

  tasks:
    - name: show data
      debug:
        msg: "{{ item }}"
      with_dict: "{{ dep }}"

-

#command
ansible-playbook -i inventory test.yml --extra-vars 'dep=rd1'

-

Хост Inventory - это мой тестовый vm, просто есть ip, и он может быть s sh.

При запуске команды выводится: fatal: [172.16.1.227]: FAILED! => {"Msg": "with_dict ожидает dict"}

Я думаю, это нужно var в var, но я пытаюсь по-разному, все не удаются.

Требуется отправить переменную с плавающей точкой и получить соответствующие данные от vars.yml.

Спасибо всем, хорошего дня!

1 Ответ

0 голосов
/ 14 февраля 2020

Проблема в том, что "{{ dep }}" оценивается как строка "rd1"

with_dict: "{{ dep }}"

Это причина ошибки "with_dict expects a dict".

Вместо этого вам нужно lookup и vars плагин. Например

with_dict: "{{ lookup('vars', dep) }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...