I'm launching a cluster of ec2 instances and would like one (don't care
which one) of them to become a head node and pass it's IP to the other
cluster members. I've been looking for an easy way to do this but could not
fine one so would appreciate any assistance.
Here is what I've got.
from my main playbook I'm calling a sub playbook that launches the ec2
instances. there i add the instances to the {{ group_name }} group. where
group_name is a variable defined in a var file.
later on the main playbook I'd like to pull one of the IP's and feed it
into a startup script to be called on all the hosts.
I could not find a way to extract element 0 from the group_name var array.I
tried this: set_fact: headnode={{ groups[[{{ group_name }}][0]] }} but it
did not work. I had to use the actual group_var value and then I got the IP
but it was not a clean string rather it looked like this: [u'10.77.0.211',
Any idea how to get a clean IP from the group_name set? BDW in the sub
playbook where I launch the instances I register the private ip's from the
instances: set_fact: private_ips: "{{ ec2.tagged_instances|join(', ',
attribute='private_ip') }}" but I cannot refer to this variable back in the
main playbook.
thanks in advance.
--
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/1d338b6e-abad-4458-b7b6-f997fa49c5f8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.