kubevirt-vms

Provisions and troubleshoots ephemeral KubeVirt VMs using containerDisk builds, SSH injection, and teardown workflows.

11|9|Updated May 25, 2026
One-click install
npx skills add https://github.com/projectbluefin/lab --skill kubevirt-vms-projectbluefin
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: kubevirt-vms
Source: https://github.com/projectbluefin/lab/tree/main/docs/skills/kubevirt-vms
Command: npx skills add https://github.com/projectbluefin/lab --skill kubevirt-vms-projectbluefin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Running bootc-based OS tests in KubeVirt VMs involves many failure modes: containerDisk images missing capacity metadata, SSH keys lost to ostree resets, Fedora 41+ sshd never starting, RHEL10 EFI fallback gaps, and SELinux fsetxattr errors during LTS builds. This Skill consolidates the verified fixes and provisioning patterns so VM lanes boot reliably. ## Core Features & Use Cases - VM Lifecycle Guidance: Covers containerDisk build staging, disk placement on ghost-data storage, node scheduling, memory sizing, and mandatory onExit teardown. - SSH Readiness Patterns: Documents KubeVirt accessCredentials key injection via qemu-guest-agent, the sshd.socket guest-exec activation workaround, and runtime user bootstrap with correct home directory ownership. - OS-Specific Troubleshooting: Provides fixes for RHEL10 OVMF EFI fallback, fstab device-timeout stalls, fsetxattr SELinux wrapper builds, bootupd btrfs sandbox bugs, and Flatcar kernel ebuild requirements. - Use Case: When a bluefin-lts VM reports Ready but SSH never opens, use this Skill to diagnose via CPU time, apply the EFI fallback copy and field-aware fstab sed, and verify the fix against the checklist. ## Quick Start Ask the assistant to debug why my KubeVirt test VM boots but SSH times out, using the kubevirt-vms guidance.

Frequently Asked Questions about kubevirt-vms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I inject SSH keys into a KubeVirt VM?▼

Use KubeVirt accessCredentials with the qemuGuestAgent propagation method referencing a secret containing the public key in the VM's namespace. Disk injection is unreliable because ostree resets etc files at first boot and var writes may not survive qemu-img conversion.

Why does my KubeVirt VM show Ready but SSH never connects?▼

On Fedora 41+, sshd.service is a dead shim that never starts; only sshd.socket listens on port 22 and needs explicit activation. Start it via guest-exec with virsh qemu-agent-command after the VMI reports Ready, then poll the pod IP.

What causes the No disk capacity error in KubeVirt containerDisk VMs?▼

The containerDisk image is missing the /containerDisk.json metadata file declaring disk capacity. Without it, virt-controller defaults ephemeral-storage to 50M and the virt-launcher pod is evicted during disk extraction.

Can KubeVirt boot a bootc OCI image directly?▼

No. kernelBoot.container extracts kernel and initramfs but provides no root filesystem, and containerDisk requires an actual disk image file. The minimum preparation is bootc install to-disk, then wrapping the output as a containerDisk OCI image.

Why does bluefin-lts VM boot stall for 8-15 minutes?▼

RHEL10 fstab entries for /boot and /boot/efi lack nofail and device timeouts, so systemd waits on slow virtio devices. Add --karg=systemd.device-timeout=5 to bootc install and apply a field-aware sed adding nofail,x-systemd.device-timeout=5s to all /boot entries.

Should I use bootc-image-builder for bluefin disk builds?▼

No. BIB's internal osbuild Fedora 38 runner has a PCRE2 version mismatch with current bluefin SELinux policies, causing setfiles regex errors. Use bootc install to-disk inside the image itself via the build-containerdisk workflow instead.