Set up libvirt test bed with no automation #1

Closed
opened 2026-04-10 04:39:52 +01:00 by bits · 2 comments
Owner

This is just to get things started, and eventually we will work on a more elaborate test bed.

  1. Create prechecks for the system to verify:
    1. Debian-based Linux Distribution 1
    2. Supported CPU architecture: AMD, Intel, RISC-V, MIPS, and ARM
    3. Virtualization support
    4. Packages for KVM/QEMU and Libvirt daemon installed
    5. virt-lightning requirements
      1. Python 3.8 or greater
      2. Python3 libvirt binding via python3-libvirt and other Linux python packages for virt-lightning
      3. Running libvirtd with system (not session) access via qemu:///system handle.
      4. Default storage directories exist and have the proper permissions.
  2. Set up basic virt-lightning.yaml that creates a basic debian-13 vm used for testing.
  3. Create Ansible playbook that runs through some basic modification steps.
  4. Document the basic testing process in the README.md.
  5. Create clear documentation around the virtualization stack and technologies used here.

  1. We require a Debian-based Linux distribution to simplify verification of libraries by only assuming apt and other system calls to verify system state. This will only be used for the build distributions and may include other Linux distributions moving forward. ↩︎

This is just to get things started, and eventually we will work on a more elaborate test bed. 1. ✅ Create prechecks for the system to verify: 1. Debian-based Linux Distribution [^1] 1. Supported CPU architecture: AMD, Intel, RISC-V, MIPS, and ARM 1. Virtualization support 1. Packages for KVM/QEMU and Libvirt daemon installed 1. [virt-lightning requirements](https://virt-lightning.org/#requirements) 1. Python 3.8 or greater 1. Python3 libvirt binding via `python3-libvirt` and other Linux python packages for virt-lightning 1. Running `libvirtd` with system (not session) access via `qemu:///system` handle. 1. Default storage directories exist and have the proper permissions. 1. ✅ Set up basic `virt-lightning.yaml` that creates a basic `debian-13` vm used for testing. 1. ✅ Create Ansible playbook that runs through some basic modification steps. 1. ✅ Document the basic testing process in the `README.md`. 1. Create clear documentation around the virtualization stack and technologies used here. [^1]: We require a Debian-based Linux distribution to simplify verification of libraries by only assuming `apt` and other system calls to verify system state. This will only be used for the build distributions and may include other Linux distributions moving forward.
Author
Owner

Set up a precheck.py file that does all the checks and walks the user to manually verify the machine to ensure the testbed is supported and install any missing packages or setup is needed. The output looks like this when all goes well:

$ sudo python precheck.py 
=== Neticenters Testing Infrastructure Check ===
✓ Debian-based Linux distribution with apt detected
✓ Supported CPU architecture detected: x86
✓ AMD CPU supporting AMD-V
✓ Python 3.8 or greater is installed
✓ Required libvirt packages are installed
✓ Successfully connected to libvirt daemon at qemu:///system
✓ All virt-lightning requirements are installed
✓ All virt-lightning directories are properly configured

✓ All checks passed for neticenters testing and development.
Set up a `precheck.py` file that does all the checks and walks the user to manually verify the machine to ensure the testbed is supported and install any missing packages or setup is needed. The output looks like this when all goes well: ``` $ sudo python precheck.py === Neticenters Testing Infrastructure Check === ✓ Debian-based Linux distribution with apt detected ✓ Supported CPU architecture detected: x86 ✓ AMD CPU supporting AMD-V ✓ Python 3.8 or greater is installed ✓ Required libvirt packages are installed ✓ Successfully connected to libvirt daemon at qemu:///system ✓ All virt-lightning requirements are installed ✓ All virt-lightning directories are properly configured ✓ All checks passed for neticenters testing and development. ```
Author
Owner

Closing this with this commit: git.ardi.la/bits/neticenter@d5f842c16b

Will update documentation and added #5 to track it.

Closing this with this commit: https://git.ardi.la/bits/neticenter/commit/d5f842c16bf942789cf8fb88d577bcac90f3d581 Will update documentation and added #5 to track it.
bits closed this issue 2026-04-23 23:21:09 +01:00
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bits/neticenter#1
No description provided.