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.