From c0564920592b5860392ea6584009e279461a4dec Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 20 May 2020 15:01:14 -0700 Subject: [PATCH] re-add mistakenly deleted destroy_virt_inst playbook Signed-off-by: Kevin Fenzi --- playbooks/destroy_virt_inst.yml | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 playbooks/destroy_virt_inst.yml diff --git a/playbooks/destroy_virt_inst.yml b/playbooks/destroy_virt_inst.yml new file mode 100644 index 0000000000..3dd25baf6f --- /dev/null +++ b/playbooks/destroy_virt_inst.yml @@ -0,0 +1,45 @@ +# 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 }} + delegate_to: noc01.phx2.fedoraproject.org + 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 }}"