ansible: update destroy-vms playbook

- update destroy-vms playbook to correctly reflect VM state
This commit is contained in:
2025-06-26 23:30:09 +03:00
parent 6bfb909431
commit dc1cd79217
3 changed files with 28 additions and 16 deletions

View File

@ -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

View File

@ -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"

View File

@ -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