2020-05-20 15:01:14 -07:00
|
|
|
# only works with -e target=
|
|
|
|
# read configs from host_vars
|
|
|
|
# check for host already existing
|
|
|
|
# if it exists
|
|
|
|
# kill it
|
|
|
|
# lvremove disk?
|
|
|
|
# if not
|
|
|
|
# exit with failure
|
|
|
|
|
|
|
|
# requires --extra-vars="target=hostspec"
|
|
|
|
|
|
|
|
- name: destroy and undefine vm
|
|
|
|
hosts: "{{ target }}"
|
|
|
|
user: root
|
|
|
|
gather_facts: false
|
|
|
|
|
|
|
|
tasks:
|
|
|
|
- name: get vm list on the vmhost
|
|
|
|
delegate_to: "{{ vmhost }}"
|
|
|
|
virt: command=list_vms
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- name: fail if the host is not already defined/existent
|
|
|
|
local_action: fail msg="host does not exist on {{ vmhost }}"
|
|
|
|
when: inventory_hostname not in result.list_vms
|
|
|
|
|
|
|
|
- name: schedule 30m host downtime in nagios
|
|
|
|
nagios: action=downtime minutes=60 service=host host={{ inventory_hostname_short }}{{ env_suffix }}
|
2020-06-14 14:14:31 -07:00
|
|
|
delegate_to: noc01.iad2.fedoraproject.org
|
2020-05-20 15:01:14 -07:00
|
|
|
ignore_errors: true
|
|
|
|
|
|
|
|
- name: pause for 30s before doing it
|
|
|
|
pause: seconds=30 prompt="Destroying (and lvremove for) vm now {{ target }}, abort if this is wrong"
|
|
|
|
|
|
|
|
- name: destroy the vm
|
|
|
|
virt: name={{ inventory_hostname }} command=destroy
|
|
|
|
delegate_to: "{{ vmhost }}"
|
|
|
|
|
|
|
|
- name: undefine the vm
|
|
|
|
virt: name={{ inventory_hostname }} command=undefine
|
|
|
|
delegate_to: "{{ vmhost }}"
|
|
|
|
|
|
|
|
- name: destroy the lv
|
|
|
|
command: /sbin/lvremove -f {{volgroup}}/{{inventory_hostname}}
|
|
|
|
delegate_to: "{{ vmhost }}"
|