ci: Cleanup inventory_kubevirt integration test

- Use uniform way of naming plays, tasks and VMs
- Use uniform way of ordering task parameters
- Use defaults where possible
- Use CentOS Stream 9 as VM OS
- Drop unneeded environment variables
- Use FQCN of Ansible modules
- Add missing test for empty inventory
- Add .gitignore for test files

Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
This commit is contained in:
Felix Matouschek
2024-03-01 15:32:09 +01:00
parent bed5e3628f
commit b928cb5b29
5 changed files with 25 additions and 31 deletions

View File

@@ -0,0 +1,4 @@
all.yml
empty.yml
label.yml
net.yml

View File

@@ -1,22 +1,18 @@
--- ---
- name: Create VM - name: Create VMs
connection: local connection: local
gather_facts: false gather_facts: false
hosts: localhost hosts: localhost
tasks: tasks:
- name: Create a VirtualMachine - name: Create a VM
kubevirt.core.kubevirt_vm: kubevirt.core.kubevirt_vm:
state: present state: present
name: testvm name: testvm1
namespace: default namespace: default
labels: labels:
app: test app: test
wait: true
wait_timeout: 600
spec: spec:
domain: domain:
cpu:
sockets: 1
memory: memory:
guest: 256Mi guest: 256Mi
devices: devices:
@@ -33,31 +29,26 @@
networkName: kindexgw networkName: kindexgw
volumes: volumes:
- containerDisk: - containerDisk:
image: quay.io/containerdisks/fedora:latest image: quay.io/containerdisks/centos-stream:9
name: containerdisk name: containerdisk
- name: Create a 2nd VirtualMachine wait: true
wait_timeout: 600
- name: Create another VM
kubevirt.core.kubevirt_vm: kubevirt.core.kubevirt_vm:
state: present state: present
name: testvm2 name: testvm2
namespace: default namespace: default
labels: labels:
foo: bar foo: bar
wait: true
wait_timeout: 600
spec: spec:
domain: domain:
cpu:
sockets: 1
memory: memory:
guest: 256Mi guest: 256Mi
devices: devices: {}
interfaces:
- name: default
masquerade: {}
networks:
- name: default
pod: {}
volumes: volumes:
- containerDisk: - containerDisk:
image: quay.io/containerdisks/fedora:latest image: quay.io/containerdisks/centos-stream:9
name: containerdisk name: containerdisk
wait: true
wait_timeout: 600

View File

@@ -2,14 +2,8 @@
set -eux set -eux
set -o pipefail set -o pipefail
export ANSIBLE_ROLES_PATH="../" export ANSIBLE_CALLBACKS_ENABLED=ansible.posix.profile_tasks
export ANSIBLE_INVENTORY_ENABLED=kubevirt.core.kubevirt
USER_CREDENTIALS_DIR=$(pwd)
export USER_CREDENTIALS_DIR
export ANSIBLE_CALLBACKS_ENABLED=profile_tasks
export ANSIBLE_INVENTORY_ENABLED=kubevirt.core.kubevirt,yaml
export ANSIBLE_PYTHON_INTERPRETER=auto_silent
ansible-inventory -i test.kubevirt.yml -y --list --output empty.yml "$@" ansible-inventory -i test.kubevirt.yml -y --list --output empty.yml "$@"

View File

@@ -1,6 +1,7 @@
--- ---
plugin: kubevirt.core.kubevirt plugin: kubevirt.core.kubevirt
connections: connections:
- namespaces: - name: test
namespaces:
- default - default
create_groups: true create_groups: true

View File

@@ -8,7 +8,11 @@
ansible.builtin.include_vars: ansible.builtin.include_vars:
file: empty.yml file: empty.yml
name: inv_empty name: inv_empty
- name: Read inventory after vm creation - name: Assert empty inventory
ansible.builtin.assert:
that:
- inv_empty['all'] is not defined or inv_empty['all']['children']['test']['children']['namespace_default']['hosts'] is not defined
- name: Read inventory after VM creation
ansible.builtin.include_vars: ansible.builtin.include_vars:
file: all.yml file: all.yml
name: inv_all name: inv_all