mirror of
https://github.com/kubevirt/kubevirt.core.git
synced 2026-05-08 06:12:39 +00:00
feat: Add kubevirt_vmi_info module
Add the kubevirt_vmi_info module which allows to fetch information about VirtualMachineInstance(s). Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
This commit is contained in:
13
tests/integration/targets/kubevirt_vmi_info/generate.yml
Normal file
13
tests/integration/targets/kubevirt_vmi_info/generate.yml
Normal 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
|
||||
67
tests/integration/targets/kubevirt_vmi_info/playbook.yml.j2
Normal file
67
tests/integration/targets/kubevirt_vmi_info/playbook.yml.j2
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
- name: Create VM
|
||||
connection: local
|
||||
gather_facts: false
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: Create a VM
|
||||
kubevirt.core.kubevirt_vm:
|
||||
name: testvm
|
||||
namespace: {{ NAMESPACE }}
|
||||
instancetype:
|
||||
name: u1.small
|
||||
preference:
|
||||
name: centos.stream9
|
||||
spec:
|
||||
domain:
|
||||
devices: {}
|
||||
volumes:
|
||||
- containerDisk:
|
||||
image: quay.io/containerdisks/centos-stream:9
|
||||
name: containerdisk
|
||||
wait: true
|
||||
wait_timeout: 600
|
||||
|
||||
- name: Describe created VMI
|
||||
connection: local
|
||||
gather_facts: false
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: Describe a VMI
|
||||
kubevirt.core.kubevirt_vmi_info:
|
||||
name: testvm
|
||||
namespace: {{ NAMESPACE }}
|
||||
register: describe
|
||||
- name: Assert module reported no changes
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- not describe.changed
|
||||
- describe.resources | length == 1
|
||||
|
||||
- name: Delete VM
|
||||
connection: local
|
||||
gather_facts: false
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: Delete a VM
|
||||
kubevirt.core.kubevirt_vm:
|
||||
name: testvm
|
||||
namespace: {{ NAMESPACE }}
|
||||
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: {{ NAMESPACE }}
|
||||
state: absent
|
||||
register: delete
|
||||
- name: Assert module reported no changes
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- not delete.changed
|
||||
19
tests/integration/targets/kubevirt_vmi_info/runme.sh
Executable file
19
tests/integration/targets/kubevirt_vmi_info/runme.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eux
|
||||
|
||||
export ANSIBLE_CALLBACKS_ENABLED=ansible.posix.profile_tasks
|
||||
|
||||
NAMESPACE="test-kubevirt-vmi-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 "$@"
|
||||
Reference in New Issue
Block a user