ansible: update destroy-vms playbook
- update destroy-vms playbook to correctly reflect VM state
This commit is contained in:
		| @ -7,8 +7,8 @@ vm_list: | |||||||
|     disk_size: 30G |     disk_size: 30G | ||||||
|     ip: "192.168.1.151/24" |     ip: "192.168.1.151/24" | ||||||
|     gateway: "192.168.1.1" |     gateway: "192.168.1.1" | ||||||
|     nameserver1: "1.1.1.1" |     nameserver1: "192.168.1.145" | ||||||
|     nameserver2: "8.8.8.8" |     nameserver2: "1.1.1.1" | ||||||
|   - id: 107 |   - id: 107 | ||||||
|     name: "vm7" |     name: "vm7" | ||||||
|     memory: 4096 |     memory: 4096 | ||||||
| @ -16,7 +16,7 @@ vm_list: | |||||||
|     disk_size: 30G |     disk_size: 30G | ||||||
|     ip: "192.168.1.152/24" |     ip: "192.168.1.152/24" | ||||||
|     gateway: "192.168.1.1" |     gateway: "192.168.1.1" | ||||||
|     nameserver1: "1.1.1.1" |     nameserver1: "192.168.1.145" | ||||||
|     nameserver2: "8.8.8.8" |     nameserver2: "8.8.8.8" | ||||||
|  |  | ||||||
| # cloud-init variables | # cloud-init variables | ||||||
|  | |||||||
| @ -7,8 +7,8 @@ vm_list: | |||||||
|     disk_size: 30G |     disk_size: 30G | ||||||
|     ip: "192.168.1.161/24" |     ip: "192.168.1.161/24" | ||||||
|     gateway: "192.168.1.1" |     gateway: "192.168.1.1" | ||||||
|     nameserver1: "1.1.1.1" |     nameserver1: "192.168.1.145" | ||||||
|     nameserver2: "8.8.8.8" |     nameserver2: "1.1.1.1" | ||||||
|   - id: 207 |   - id: 207 | ||||||
|     name: "vm9" |     name: "vm9" | ||||||
|     memory: 4096 |     memory: 4096 | ||||||
| @ -16,9 +16,8 @@ vm_list: | |||||||
|     disk_size: 30G |     disk_size: 30G | ||||||
|     ip: "192.168.1.162/24" |     ip: "192.168.1.162/24" | ||||||
|     gateway: "192.168.1.1" |     gateway: "192.168.1.1" | ||||||
|     nameserver1: "1.1.1.1" |     nameserver1: "192.168.1.145" | ||||||
|     nameserver2: "8.8.8.8" |     nameserver2: "1.1.1.1" | ||||||
|  |  | ||||||
|  |  | ||||||
| # cloud-init template variables | # cloud-init template variables | ||||||
| node: "homeserver2" | node: "homeserver2" | ||||||
|  | |||||||
| @ -1,4 +1,3 @@ | |||||||
| --- |  | ||||||
| - name: Get VM current state | - name: Get VM current state | ||||||
|   delegate_to: localhost |   delegate_to: localhost | ||||||
|   vars: |   vars: | ||||||
| @ -14,14 +13,18 @@ | |||||||
|   register: vm_state |   register: vm_state | ||||||
|   ignore_errors: yes |   ignore_errors: yes | ||||||
|   loop: "{{ vm_list }}" |   loop: "{{ vm_list }}" | ||||||
|  |   loop_control: | ||||||
|  |     index_var: vm_index | ||||||
|   tags: |   tags: | ||||||
|     - vm_delete |     - vm_delete | ||||||
|  |  | ||||||
| - name: Debug VM state | - name: Debug VM state | ||||||
|   debug: |   debug: | ||||||
|     msg: "VM state: {{ vm_state.results[0].status }}" |     msg: "VM {{ item.name }} state: {{ vm_state.results[vm_index].status }}" | ||||||
|   when: vm_state is succeeded |   when: vm_state.results[vm_index] is defined and vm_state.results[vm_index] is succeeded | ||||||
|   loop: "{{ vm_list }}" |   loop: "{{ vm_list }}" | ||||||
|  |   loop_control: | ||||||
|  |     index_var: vm_index | ||||||
|  |  | ||||||
| - name: Stop VM | - name: Stop VM | ||||||
|   delegate_to: localhost |   delegate_to: localhost | ||||||
| @ -36,8 +39,13 @@ | |||||||
|     node: "{{ node }}" |     node: "{{ node }}" | ||||||
|     state: stopped |     state: stopped | ||||||
|     force: true |     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: "{{ vm_list }}" | ||||||
|  |   loop_control: | ||||||
|  |     index_var: vm_index | ||||||
|   tags: |   tags: | ||||||
|     - vm_delete |     - vm_delete | ||||||
|  |  | ||||||
| @ -53,7 +61,12 @@ | |||||||
|     name: "{{ item.name }}" |     name: "{{ item.name }}" | ||||||
|     node: "{{ node }}" |     node: "{{ node }}" | ||||||
|     state: absent |     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: "{{ vm_list }}" | ||||||
|  |   loop_control: | ||||||
|  |     index_var: vm_index | ||||||
|   tags: |   tags: | ||||||
|     - vm_delete |     - vm_delete | ||||||
		Reference in New Issue
	
	Block a user