Without seeing the full playbook it is hard to actually confirm what you 
are doing but it sounds like you have 2 plays in your playbook, 1 to get 
the host info and add it, the other to run tasks on that new host. When you 
run set_fact or register in a play, that variable/fact is only registered 
for the hosts it is running on. If you were to run a 2nd play on a 
different set of hosts those variables are no longer accessible like you 
would do it normally. What you need to do is access those variables from 
the hostvars dict and specify the original host, I'm going to guess the 
first play is run on localhost so it would be *{{ 
hostvars['localhost']['endpoint'] }}*. Here is an example of it in action


- name: 1st play that runs on localhost and defines the var
  hosts: localhost
  tasks:
  - name: set variable/fact on the first play for localhost
    set_fact:
      my_var: abc

- name: 2nd play that runs on another host
  hosts: other-group
  tasks:
  - name: output my_var registered on localhost
    debug:
      var: hostvars['localhost']['my_var']

As you can see, the 2nd play runs on a different group and I use hostvars 
to lookup the variables defined on localhost and finally get the my_var 
variable.

Thanks

Jordan

-- 
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/423db0a1-4405-4f50-bab4-3afe35ec23a9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to