boma/roles/integration_test
2026-06-18 12:09:35 +02:00
..
defaults feat(integration_test): KVM/libvirt substrate role on the control node 2026-06-18 12:09:35 +02:00
handlers feat(integration_test): KVM/libvirt substrate role on the control node 2026-06-18 12:09:35 +02:00
meta feat(integration_test): KVM/libvirt substrate role on the control node 2026-06-18 12:09:35 +02:00
molecule/default feat(integration_test): KVM/libvirt substrate role on the control node 2026-06-18 12:09:35 +02:00
tasks feat(integration_test): KVM/libvirt substrate role on the control node 2026-06-18 12:09:35 +02:00
README.md feat(integration_test): KVM/libvirt substrate role on the control node 2026-06-18 12:09:35 +02:00

integration_test

Installs the KVM/libvirt substrate on the control node (ubongo) so the agent can boot throwaway Debian VMs for local integration testing (ADR-025).

This is a non-service role — no SECURITY/VERIFY/ACCESS/BACKUP files are required. It does not make ubongo a production hypervisor; it only provides the tooling needed to spin up short-lived test VMs (see ADR-015).

Target group

control (i.e. ubongo)

What it does

  1. Installs QEMU/KVM, libvirt daemon + clients, virt-install, and cloud-image tools (cloud-image-utils, genisoimage).
  2. Enables and starts libvirtd.
  3. Adds the configured users (sjat, claude) to the libvirt and kvm groups so VMs can be managed without sudo.
  4. Creates /var/lib/boma-integration (owned root:libvirt, mode 2775) as the cache directory for golden images and overlays.

Defaults

Variable Default Purpose
integration_test__packages see defaults/main.yml APT packages to install
integration_test__users [sjat, claude] Users granted libvirt/kvm access
integration_test__cache_dir /var/lib/boma-integration Image/overlay cache directory
  • ADR-025 — local VM integration testing
  • ADR-015 — control host scope (ubongo is not a hypervisor)