mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-11 12:46:49 +00:00
test(instances): live tests with a running guest OS
The live tests so far ran VMs without an OS, so everything that needs the guest's cooperation was untested. With TEST_LIBVIRT_GUEST_IMAGE set to an installed Linux image with qemu-guest-agent, instances/test_live_guest.py boots wvc-test VMs from qcow2 overlays of it (the image is only read) and checks through the web views: - delete_vol on a running VM: the guest releases the disk, so it leaves the live and persistent definitions and the volume is deleted; - detach_vol removes the disk from the running guest and keeps the volume; - add_network/delete_network: the guest sees the hotplugged NIC, and the unplug completes in both definitions; - set_vcpu brings a hotplugged vCPU online in the guest; - osinfo returns the guest agent's OS, time zone and host name, and the agent reports the VM's NIC by MAC; - poweroff shuts the guest down through libvirt. The image must be a BIOS-bootable qcow2 volume in a storage pool other than wvc-test; the tests are skipped while a running VM uses it. They pass against a Rocky Linux 9 guest on a RHEL qemu-kvm host; the guest had no address on the NAT network (its network configuration is static), so only the agent's NIC report is checked, not an address.
This commit is contained in:
parent
b150a9dd36
commit
a47fb9d825
2 changed files with 225 additions and 0 deletions
|
|
@ -460,8 +460,10 @@ ruff check .
|
|||
> ```bash
|
||||
> export TEST_LIBVIRT_HOST=compute1 TEST_LIBVIRT_TYPE=2 # 1 TCP, 2 SSH, 3 TLS, 4 socket
|
||||
> export TEST_LIBVIRT_LOGIN=root TEST_LIBVIRT_PASSWORD= # login/password for TCP and TLS
|
||||
> export TEST_LIBVIRT_GUEST_IMAGE=/var/lib/libvirt/images/linux.qcow2 # optional, see below
|
||||
> python manage.py test
|
||||
> ```
|
||||
> `TEST_LIBVIRT_GUEST_IMAGE` enables the tests that need a guest OS (disk and NIC hot-unplug, vCPU hotplug, guest agent, ACPI power off). It must be an installed, BIOS-bootable Linux qcow2 image with qemu-guest-agent, in a storage pool of the host other than `wvc-test`; the tests boot copies of it from overlays and only read the image. Shut down any VM using it first.
|
||||
|
||||
## Users, Roles and Permissions
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue