the data you want is in: hostvars['localhost']['json_as_input_for_next_play']
On Wed, Aug 5, 2015 at 5:24 PM, Kathy Allen <[email protected]> wrote: > Hiya. > > In my playbook, I have two plays: the first is to be run on the control > host, the second is run on a set of remote app hosts. What I want to do is > have a variable determined by a task in the first play be used as a shell > script argument for a task in the second play. I don't know how to do this. > Can anyone help? Is this possible? > > Here's a simplification of how these are called in my ansible deployment > orchestration playbook. The json determined by a tool on the control host in > common/test_prep.yml needs to be used as the input parameter to a tool which > is called inside of common/test_client_check.yml on each client 'myhosts'. > > > $ cat testplaybook.yml > --- > - hosts: 127.0.0.1 > connection: local > gather_facts: False > tasks: > > - include: "{{ playbook_dir }}/pb_test.yml myhosts=app_set1" > > $ cat pb_test.yml > --- > - include: common/test_prep.yml > - include: common/test_client_check.yml > > $ cat common/test_prep.yml > --- > - hosts: 127.0.0.1 > connection: local > gather_facts: false > tasks: > > - name: Check authoritative DNS for app datasources > local_action: shell ../bin/dns_check > ignore_errors: true > register: check_results > > - debug: var=check_results.stdout_lines[0] > - set_fact: json_as_input_for_next_play={{ check_results.stdout_lines[0] > }} > - debug: var=json_as_input_for_next_play > > $ cat common/test_client_check.yml > --- > - hosts: '{{ myhosts }}' > gather_facts: false > tasks: > # this ruby script returns a Boolean > - name: Check DNS for app datasources on the clients > shell: /usr/local/bin/client-side-lookup json_as_input_for_next_play > sudo: yes > > # When running it by hand, the json needs to be surrounded by single quotes: > #client# /usr/local/bin/client-side-lookup > '{"db1.example.com":"10.4.4.113","db2.example.com":"10.4.4.114"}' > > > > How do I make this happen? Thank you! > > kallen > > -- > 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/26e5de97-6947-433f-9a5c-1c34784ff39f%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- Brian Coca -- 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/CAJ5XC8mrb8o6mupSaZ_9iD9PGp1ru138TFCdTCo%2Bex5af2rHhw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
