From dc1cd79217cd25ef2f36956bbae22cfa7f98c259 Mon Sep 17 00:00:00 2001 From: Taqi Tahmid Date: Thu, 26 Jun 2025 23:30:09 +0300 Subject: [PATCH] ansible: update destroy-vms playbook - update destroy-vms playbook to correctly reflect VM state --- ansible/inventory/host_vars/proxmox1.yaml | 8 ++++---- ansible/inventory/host_vars/proxmox2.yaml | 11 +++++----- ansible/roles/destroy-vms/tasks/main.yaml | 25 +++++++++++++++++------ 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/ansible/inventory/host_vars/proxmox1.yaml b/ansible/inventory/host_vars/proxmox1.yaml index 571e61f..cd1c9d6 100644 --- a/ansible/inventory/host_vars/proxmox1.yaml +++ b/ansible/inventory/host_vars/proxmox1.yaml @@ -7,8 +7,8 @@ vm_list: disk_size: 30G ip: "192.168.1.151/24" gateway: "192.168.1.1" - nameserver1: "1.1.1.1" - nameserver2: "8.8.8.8" + nameserver1: "192.168.1.145" + nameserver2: "1.1.1.1" - id: 107 name: "vm7" memory: 4096 @@ -16,7 +16,7 @@ vm_list: disk_size: 30G ip: "192.168.1.152/24" gateway: "192.168.1.1" - nameserver1: "1.1.1.1" + nameserver1: "192.168.1.145" nameserver2: "8.8.8.8" # cloud-init variables @@ -26,4 +26,4 @@ net0: "virtio,bridge=vmbr0" disk_path: "/var/lib/vz/images/1000" ide2: "local:cloudinit,format=qcow2" boot_order: "order=scsi0" -scsi_hw: "virtio-scsi-pci" \ No newline at end of file +scsi_hw: "virtio-scsi-pci" diff --git a/ansible/inventory/host_vars/proxmox2.yaml b/ansible/inventory/host_vars/proxmox2.yaml index af71550..e0bf2bd 100644 --- a/ansible/inventory/host_vars/proxmox2.yaml +++ b/ansible/inventory/host_vars/proxmox2.yaml @@ -7,8 +7,8 @@ vm_list: disk_size: 30G ip: "192.168.1.161/24" gateway: "192.168.1.1" - nameserver1: "1.1.1.1" - nameserver2: "8.8.8.8" + nameserver1: "192.168.1.145" + nameserver2: "1.1.1.1" - id: 207 name: "vm9" memory: 4096 @@ -16,9 +16,8 @@ vm_list: disk_size: 30G ip: "192.168.1.162/24" gateway: "192.168.1.1" - nameserver1: "1.1.1.1" - nameserver2: "8.8.8.8" - + nameserver1: "192.168.1.145" + nameserver2: "1.1.1.1" # cloud-init template variables node: "homeserver2" @@ -27,4 +26,4 @@ net0: "virtio,bridge=vmbr0" disk_path: "/var/lib/vz/images/2000" ide2: "local:cloudinit,format=qcow2" boot_order: "order=scsi0" -scsi_hw: "virtio-scsi-pci" \ No newline at end of file +scsi_hw: "virtio-scsi-pci" diff --git a/ansible/roles/destroy-vms/tasks/main.yaml b/ansible/roles/destroy-vms/tasks/main.yaml index 11fbb7c..bd4b9b3 100644 --- a/ansible/roles/destroy-vms/tasks/main.yaml +++ b/ansible/roles/destroy-vms/tasks/main.yaml @@ -1,4 +1,3 @@ ---- - name: Get VM current state delegate_to: localhost vars: @@ -14,14 +13,18 @@ register: vm_state ignore_errors: yes loop: "{{ vm_list }}" + loop_control: + index_var: vm_index tags: - vm_delete - name: Debug VM state debug: - msg: "VM state: {{ vm_state.results[0].status }}" - when: vm_state is succeeded + msg: "VM {{ item.name }} state: {{ vm_state.results[vm_index].status }}" + when: vm_state.results[vm_index] is defined and vm_state.results[vm_index] is succeeded loop: "{{ vm_list }}" + loop_control: + index_var: vm_index - name: Stop VM delegate_to: localhost @@ -36,8 +39,13 @@ node: "{{ node }}" state: stopped force: true - when: vm_state is succeeded and vm_state.results[0].status != 'absent' + when: > + vm_state.results[vm_index] is defined and + vm_state.results[vm_index] is succeeded and + vm_state.results[vm_index].status != 'absent' loop: "{{ vm_list }}" + loop_control: + index_var: vm_index tags: - vm_delete @@ -53,7 +61,12 @@ name: "{{ item.name }}" node: "{{ node }}" state: absent - when: vm_state is succeeded and vm_state.results[0].status != 'absent' + when: > + vm_state.results[vm_index] is defined and + vm_state.results[vm_index] is succeeded and + vm_state.results[vm_index].status != 'absent' loop: "{{ vm_list }}" + loop_control: + index_var: vm_index tags: - - vm_delete \ No newline at end of file + - vm_delete