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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
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