On 17.01.2019 21:25, Robert F wrote:
I have this Ansible inventory file:

    [fileservers]
fs01.example.com ansible_ssh_host=192.168.1.1 ip_addr=192.168.1.1

    [dbservers]
db01.example.com ansible_ssh_host=192.168.1.2 ip_addr=192.168.1.2

    [webservers]
web01.example.com ansible_ssh_host=192.168.1.3 ip_addr=192.168.1.3

    [cmsservers]
cms01.example.com ansible_ssh_host=192.168.1.4 ip_addr=192.168.1.4

What I want to do is be able to set some facts that contain the host
aliases when I run this playbook on my web01.example.com server:

    - name: create alias facts
      set_fact:
file_server_alias: hostvars[{{ inventory_hostname }}]['groups']['fileservers'][0] # should get string 'fs01.example.com'

The syntax is not correct, correct syntax should be
file_server_alias: "{{ hostvars[inventory_hostname]['groups']['fileservers'][0] }}"

But there is not point in using hostvars in this example since you can just use groups(one of the magic variables in Ansible)
  file_server_alias: "{{ groups['fileservers'][0] }}"

--
Kai Stian Olstad

--
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/778ceca4b64bb1fed1d73414d5e86ca0%40olstad.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to