kubevirt_vm_info: Run integration test in random namespace

Run the integration tests for kubevirt_vm_info in a random namespace
and cleanup after the tests finish.

Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
This commit is contained in:
Felix Matouschek
2024-08-15 13:39:12 +02:00
parent 71ea312cfc
commit 713193510a
4 changed files with 31 additions and 5 deletions

1
.gitignore vendored
View File

@@ -162,4 +162,5 @@ kubevirt.core
/tests/integration/targets/kubevirt_vm/verify.yml
/tests/integration/targets/kubevirt_vm/wait_for_vm.yml
/tests/integration/targets/kubevirt_vm/files
/tests/integration/targets/kubevirt_vm_info/playbook.yml
kubevirt-cache

View File

@@ -0,0 +1,13 @@
---
- name: Generate test files
connection: local
gather_facts: false
hosts: localhost
tasks:
- name: Generate test files
ansible.builtin.template:
src: "{{ item }}.yml.j2"
dest: "{{ item }}.yml"
mode: "0644"
with_items:
- playbook

View File

@@ -7,7 +7,7 @@
- name: Create a VM
kubevirt.core.kubevirt_vm:
name: testvm
namespace: default
namespace: {{ NAMESPACE }}
instancetype:
name: u1.small
preference:
@@ -30,7 +30,7 @@
- name: Describe a VM
kubevirt.core.kubevirt_vm_info:
name: testvm
namespace: default
namespace: {{ NAMESPACE }}
register: describe
- name: Assert module reported no changes
ansible.builtin.assert:
@@ -46,7 +46,7 @@
- name: Delete a VM
kubevirt.core.kubevirt_vm:
name: testvm
namespace: default
namespace: {{ NAMESPACE }}
state: absent
wait: true
@@ -58,7 +58,7 @@
- name: Delete a VM
kubevirt.core.kubevirt_vm:
name: testvm
namespace: default
namespace: {{ NAMESPACE }}
state: absent
register: delete
- name: Assert module reported no changes

View File

@@ -1,7 +1,19 @@
#!/usr/bin/env bash
set -eux
set -o pipefail
export ANSIBLE_CALLBACKS_ENABLED=ansible.posix.profile_tasks
NAMESPACE="test-kubevirt-vm-info-$(tr -dc '[:lower:]' < /dev/urandom | head -c 5)"
cleanup() {
ansible localhost -m kubernetes.core.k8s -a "name=${NAMESPACE} api_version=v1 kind=Namespace state=absent"
rm -rf playbook.yml
}
trap cleanup EXIT
# Prepare the test environment
ansible localhost -m kubernetes.core.k8s -a "name=${NAMESPACE} api_version=v1 kind=Namespace state=present"
ansible-playbook -e "NAMESPACE=${NAMESPACE}" generate.yml
# Run the tests
ansible-playbook playbook.yml "$@"