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

Несуществующий факт от другого хоста

Я пытаюсь получить факт от другого хоста в своем доступном сценарии:

- hosts: localhost
    tasks:
    - site_facts: name={{ var }}

- hosts: "{{ apphost }}"
  tasks:
    - shell:
        command: docker inspect --format='\{\{.Image\}\}' {{ dbname }}
        register: imagehash

- hosts: some_host
  tasks:
    - debug: var=hostvars[apphost].inventory_hostname
    - debug: var=hostvars['localhost'].inventory_hostname

Сложность заключается в том, что переменная apphost, переданная с помощью --extra-vars, содержит имя тега хоста на ec2.

Однако hostvars list использует IP-адрес в качестве ключа, поэтому я получаю эту ошибку:

fatal: [192.168.XX.XX] => Failed to template {{hostvars[apphost].inventory_hostname}}: host not found: tag_Name_docker1

Есть идеи, как мне получить этот факт от этого хозяина?

Правильная переменная кажется

 - debug: var=hostvars[groups[apphost][0]].inventory_hostname

вместо того

 - debug: var=hostvars[apphost].inventory_hostname