--- - name: Wait for SSH connection: local gather_facts: false hosts: localhost tasks: - name: Wait up to 900 seconds for port 22 to become open ansible.builtin.wait_for: port: 22 host: "{{ hostvars['default-testvm'].ansible_host }}" delay: 30 timeout: 900 - name: Connect to VM gather_facts: true hosts: default-testvm remote_user: cloud-user vars: ansible_python_interpreter: /usr/bin/python3 tasks: - name: Print VM facts ansible.builtin.debug: var: ansible_facts - name: Verify creation with existing VM connection: local gather_facts: false hosts: localhost tasks: - name: Create a VM kubevirt.core.kubevirt_vm: name: testvm namespace: default labels: app: test register: recreate - name: Assert module reported no changes ansible.builtin.assert: that: - not recreate.changed - name: Delete VM connection: local gather_facts: false hosts: localhost tasks: - name: Delete a VM kubevirt.core.kubevirt_vm: name: testvm namespace: default state: absent wait: true - name: Verify VM deletion connection: local gather_facts: false hosts: localhost tasks: - name: Delete a VM kubevirt.core.kubevirt_vm: name: testvm namespace: default state: absent register: delete - name: Assert module reported no changes ansible.builtin.assert: that: - not delete.changed