Add rudimentary vhost poweroff playbook
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
This commit is contained in:
parent
984d230e7a
commit
cf1d4d544b
1 changed files with 63 additions and 0 deletions
63
playbooks/vhost_poweroff.yml
Normal file
63
playbooks/vhost_poweroff.yml
Normal file
|
@ -0,0 +1,63 @@
|
|||
#
|
||||
# This playbook lets you safely reboot a virthost and all it's guests.
|
||||
#
|
||||
# requires --extra-vars="target=somevhost fqdn"
|
||||
|
||||
#General overview:
|
||||
# talk to the vhost
|
||||
# get back list of instances
|
||||
# add each of their hostnames to an addhoc group
|
||||
# halt each of them in a second play
|
||||
# wait for them to die
|
||||
# third play, reboot the vhost
|
||||
# wait for vhost to come back
|
||||
|
||||
# TODO: Figure out how to compare virt info pre and post boot.
|
||||
|
||||
- name: find instances
|
||||
hosts: "{{ target }}"
|
||||
gather_facts: False
|
||||
user: root
|
||||
|
||||
tasks:
|
||||
- name: get list of guests
|
||||
virt: command=list_vms
|
||||
register: vmlist
|
||||
|
||||
# - name: get info on guests (prereboot)
|
||||
# virt: command=info
|
||||
# register: vminfo_pre
|
||||
|
||||
- name: add them to myvms_new group
|
||||
local_action: add_host hostname={{ item }} groupname=myvms_new
|
||||
with_items: "{{ vmlist.list_vms }}"
|
||||
|
||||
- name: halt instances
|
||||
hosts: myvms_new
|
||||
user: root
|
||||
gather_facts: False
|
||||
serial: 1
|
||||
|
||||
tasks:
|
||||
- name: halt the vm instances - to poweroff
|
||||
command: /sbin/shutdown -h 1
|
||||
ignore_errors: true
|
||||
# if one of them is down we don't care
|
||||
|
||||
- name: wait for the whole set to die.
|
||||
hosts: myvms_new
|
||||
gather_facts: False
|
||||
user: root
|
||||
|
||||
tasks:
|
||||
- name: wait for them to die
|
||||
local_action: wait_for port=22 delay=30 timeout=300 state=stopped host={{ inventory_hostname }}
|
||||
|
||||
- name: reboot vhost
|
||||
hosts: "{{ target }}"
|
||||
gather_facts: False
|
||||
user: root
|
||||
|
||||
tasks:
|
||||
- name: halt the virthost
|
||||
command: /sbin/shutdown -h 1
|
Loading…
Add table
Add a link
Reference in a new issue