Fato anormal de outro host

1

Estou tentando obter um fato de outro host no meu ansioso manual de instruções:

- 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

A parte complicada é que a variável 'apphost', passada com --extra-vars, contém o nome da tag do host em ec2.

No entanto, a lista hostvars usa ip address como uma chave, portanto, recebo este erro:

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

Alguma idéia de como devo obter o fato deste host?

    
por DukeLion 22.09.2015 / 11:49

1 resposta

2

A variável apropriada parece ser

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

em vez de

 - debug: var=hostvars[apphost].inventory_hostname
    
por 22.09.2015 / 12:37