OK.  Here's what I'm trying to accomplish:

- hosts: all
  gather_facts: false

  tasks:
    - name: win update
      win_updates:
        category: 
['SecurityUpdates','CriticalUpdates','Updates','Tools','DefinitionUpdates','UpdateRollups']
      register: reboot_hint

- hosts: admin2
  gather_facts: false
  sudo: yes

  tasks:
    - nagios: action=downtime minutes=20 author="Dimitri Yioulos" 
service=host host={{item}}
      with_items: "{{ groups['lyris'] }}"
      delegate_to: admin2
#      when: hostvars[myhost]['reboot_hint']['reboot_required']
      tags:
         - nagios_downtime
    - nagios: action=downtime minutes=20 author="Dimitri Yioulos" 
service=all host={{item}}
      with_items: "{{ groups['lyris'] }}"
      delegate_to: admin2
#      when: hostvars[myhost]['reboot_hint']['reboot_required']

Since "reboot_hint" is coming from the previous play, and since the host or 
group to run the playbook against is defined at the command line, as in: 
"ansible-playbook -l lyris myplaybook.yml -u myuser", what do I specify in 
the [myhost] section?  This must be a variable to accept the host name OR 
group name I specified at the command line, but I don't know what that 
would be.

Further, and maybe another post altogether, how do I make the substitution 
in "with_items: "{{ groups['lyris'] }}"" so that I don't have to change 
e.g. lyris is I'm specifying another host or group in running the playbook?

With thanks,

Dimitri


On Wednesday, February 17, 2016 at 12:07:40 PM UTC-5, Dimitri Yioulos wrote:
>
> I have the following play in a playbook:
>
> - hosts: talk
>   gather_facts: false
>
>   tasks:
>     - name: win update
>       win_updates:
>         category: 
> ['SecurityUpdates','CriticalUpdates','Updates','Tools','DefinitionUpdates','UpdateRollups']
>       register: reboot_hint
>
> I'd like to re-use reboot_hint in additional plays in the playbook via 
> "when", but the playbook ultimately fails after the first "when", as in:
>
> - hosts: talk
>   gather_facts: false
>
>   tasks:
>     - name: start Lyris services
>       win_service: name={{ item }} state=started start_mode=auto
>       with_items: ["ListManager", "LyrisAlert"]
>       when: (lyris_hint.rc == 0) and (reboot_hint.reboot_required == true) 
> # ie, the ListManager service is installed and reboot is required
>
> - hosts: admin2
>   gather_facts: false
>   sudo: yes
>
>   tasks:
>     - nagios: action=downtime minutes=10 author="Dimitri Yioulos" 
> service=host host={{item}}
>       with_items:
>          - talk
>       when: reboot_hint.reboot_required == true
>       delegate_to: admin2
>     - nagios: action=downtime minutes=20 author="Dimitri Yioulos" 
> service=all host={{item}}
>       with_items:
>          - talk
>       when: reboot_hint.reboot_required == true
>       delegate_to: admin2
>       tags:
>          - nagios_downtime
>
> - hosts: talk
>   gather_facts: false
>
>   tasks:
>     - name: reboot server
>       raw: 'cmd /c shutdown /r /t 0'
>       when: reboot_hint.reboot_required == true
>
> This is another of my Ansible 101 questions; help making it work is 
> appreciated!
>

-- 
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/792623a7-0fcb-4d4d-95a0-55c399ea9059%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to