Назад | Перейти на главную страницу

ВОЗМОЖНО, как найти dict в файле host_vars?

Стараюсь на ансибле осваивать работу со словарями. Когда я включаю диктовку в playbook как на пример все работает как шарм. Но когда я пытаюсь включить блок vars в свой файл host_vars / myserv.yml следующим образом:

host_vars / myserv.yml <- Неправильный синтаксис, не используйте этот пример!

  vars:
    users:
      alice:
        name: Alice Appleworth
        telephone: 123-456-7890
      bob:
        name: Bob Bananarama
        telephone: 987-654-3210

playbook.yml


- name: "myserv"
  hosts: "myserv"
  gather_facts: yes
  remote_user: root

  tasks:

  - name: "Ping hosts"
    ping:
  
  roles:
   - {role: 'test-role'}

роли / тест-роль / задача / main.yml

- name: Print phone records
  debug:
    msg: "User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
  loop: "{{ lookup('dict', users) }}"

Я получаю сообщение об ошибке:

FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'dict'. Error was a <class 'ansible.errors.AnsibleError'>, original message: with_dict expects a dict"}

Так что я упустил? Мне нужно использовать какую-нибудь опцию поиска?

UPD: проблема была довольно простой - просто удалите строку "vars:" из файла host_vars и все нормально работает :).

С уважением

UPD: проблема была довольно простой - просто удалите строку "vars:" из файла host_vars и все заработает :).