Valentino Gagliardi <[email protected]> napisał:
>hostB is defined in inventory. Unfortunately does not single quote nor 
>strong quoting solve the issue:
>
>fqdn: "{{ hostvars['hostB']['ansible_fqdn'] }}"
>address: "{{ hostvars['hostB']['ansible_eth0']['ipv4']['address'] }}"
>
>Error:
>
>fatal: [mon] => One or more undefined variables: 'dict object' has no 
>attribute 'ansible_fqdn'
That probably means you have not yet gathered facts from that host.

I'm not sure how running action: setup with delegate_to would act, but if that 
doesn't work you can put a dummy play at the beginning of your playbook.

>
>Il giorno mercoledì 16 aprile 2014 18:49:47 UTC+2, Tomasz Kontusz ha 
>scritto:
>>
>>
>>
>> Valentino Gagliardi <[email protected] <javascript:>> napisał: 
>> >More details. 
>> > 
>> >vars.yml 
>> >fqdn: "{{ hostvars[hostB]['ansible_fqdn'] }}" 
>> >address: "{{ hostvars[hostB]['ansible_eth0.ipv4.address'] }}" 
>> If hostB is the inventory name of that host (and not a variable) use 
>> 'hostB' in quotes. 
>>
>> > 
>> >---- separator ----- 
>> > 
>> >templates/host_def.j2 
>> >define host{ 
>> >    use generic-host 
>> >    host_name {{ fqdn }} 
>> >    address {{ address }} 
>> >    max_check_attempts 5 
>> >    check_command check-host-alive 
>> >} 
>> > 
>> >---- separator ----- 
>> > 
>> >task.yml 
>> >--- 
>> >- hosts: mon 
>> >  sudo: yes 
>> > 
>> >  vars_files: 
>> >   - vars.yml 
>> > 
>> >  tasks: 
>> > 
>> >    - name: Copy Host Definition (Server) 
>> >  template: src=templates/host_def.j2 dest=/etc/icinga/servers/{{
>fqdn 
>> >}}.cfg owner=root group=root mode=0644 
>> >      notify: 
>> >        - restart icinga 
>> >      tags: 
>> >       - server_host 
>> > 
>> >Error: 
>> > 
>> >fatal: [mon] => One or more undefined variables: 'hostB' is
>undefined 
>> > 
>> >Il giorno mercoledì 16 aprile 2014 16:07:35 UTC+2, Valentino
>Gagliardi 
>> >ha 
>> >scritto: 
>> >> 
>> >> Hello friends! 
>> >> Almost sure that this is my fault but at this time is still
>obscure 
>> >for me 
>> >> how to retrieve facts about host B inside a playbook which run for
>
>> >host A. 
>> >> 
>> >> This is the real case: I want to populate Icinga host definition 
>> >running 
>> >> the playbook on host A, but retrieving facts about monitored host
>B: 
>> >> 
>> >> Already tried 
>> >> 
>> >
>>
>http://docs.ansible.com/playbooks_variables.html#magic-variables-and-how-to-access-information-about-other-hosts(templates/host_def.j2)
>
>> >: 
>> >> 
>> >> define host{ 
>> >>     use generic-host 
>> >>     host {{ hostvars['hostB']['ansible_fqdn'] }} 
>> >>     address {{ hostvars['hostB']['ansible_eth0.ipv4.address'] }} 
>> >>     max_check_attempts 5 
>> >>     BLABLA 
>> >> } 
>> >> 
>> >> but this give me an error. Is this the right way to use magic 
>> >variables? 
>> >> 
>> >> Any pointing? Thanks! 
>> >> 
>>
>> -- 
>> Wysłane za pomocą K-9 Mail. 
>>

-- 
Wysłane za pomocą K-9 Mail.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/9d555650-8e7d-4bc7-9e19-f4d1b4c6fe76%40email.android.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to