first commit

This commit is contained in:
Ryan Cuda
2026-01-25 08:31:56 -07:00
commit 1234ef51c0
57 changed files with 2560 additions and 0 deletions

69
destroy-lab.yml Normal file
View File

@@ -0,0 +1,69 @@
---
- name: Delete VMs and all associated disks (PVCs)
hosts: localhost
gather_facts: false
collections:
- kubernetes.core
vars:
namespace: default
vm_names:
- controller
- node1
- node2
- node3
- node4
- node5
- utility
disks:
- rootdisk
- disk2
- disk3
tasks:
###########################################################################
# Delete VMs
###########################################################################
- name: Delete VirtualMachines
k8s:
api_version: kubevirt.io/v1
kind: VirtualMachine
name: "{{ item }}"
namespace: "{{ namespace }}"
state: absent
loop: "{{ vm_names }}"
###########################################################################
# Wait until VMs are actually gone (IMPORTANT)
###########################################################################
- name: Wait for VMs to be fully deleted
k8s_info:
api_version: kubevirt.io/v1
kind: VirtualMachine
name: "{{ item }}"
namespace: "{{ namespace }}"
register: vm_check
until: vm_check.resources | length == 0
retries: 30
delay: 5
loop: "{{ vm_names }}"
loop_control:
label: "{{ item }}"
###########################################################################
# Delete PVCs (no pre-check, safe & idempotent)
###########################################################################
- name: Delete PVCs for all VM disks
k8s:
api_version: v1
kind: PersistentVolumeClaim
name: "{{ item.0 }}-{{ item.1 }}"
namespace: "{{ namespace }}"
state: absent
loop: "{{ vm_names | product(disks) | list }}"
loop_control:
label: "{{ item.0 }}-{{ item.1 }}"
failed_when: false