Repository navigation
bootc-host-setup: Keep the libvirt session daemon for the whole job - #3
Closed
cgwalters-bot wants to merge 1 commit into
Closed
cgwalters-bot wants to merge 1 commit into
cgwalters-bot wants to merge 1 commit into
Conversation
This was referenced Oct 1, 2026
cgwalters-bot
force-pushed
the
bot/libvirt-session-daemon
branch
from
October 2, 2026 12:15
e250103 to
344ac7e
Compare
bcvk and bootc CI intermittently fail with "Failed to connect socket to '/run/user/1001/libvirt/libvirt-sock': No such file or directory" (bootc-dev/bootc#1843). The libvirt client auto-spawns the session daemon with --timeout=120; when it exits on idle it removes its socket before it releases its pidfile, and a client connecting in between spawns a daemon that exits at once and then gives up after five seconds. It shows up right after test steps that went two minutes without touching libvirt. bcvk now retries in that case (bootc-dev/bcvk#394), but a daemon that never idles out avoids the window entirely, including for the pinned bcvk release. Rather than starting a daemon by hand, connect once (which spawns it, or reuses one that is already running) and turn off its idle timeout with virt-admin, so this works whichever daemon the client picked and is safe to run twice. The test workflow now checks that the daemon is still the same process well past 120 idle seconds and that bcvk can talk to it. Generated-by: AI
cgwalters-bot
force-pushed
the
bot/libvirt-session-daemon
branch
from
October 2, 2026 12:22
344ac7e to
0f46eed
Compare
Collaborator
Author
|
Two calls for you before promoting:
Generated-by: https://github.com/cgwalters/#llms |
|
Nah let's just get the bcvk released which fixes this then ensure we prioritize bumping to that version |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The libvirt client auto-spawns the
qemu:///sessiondaemon with--timeout=120, and a client that connects while that daemon exits on idle can fail withFailed to connect socket to '/run/user/1001/libvirt/libvirt-sock': No such file or directory(bootc-dev/bootc#1843). bcvk now retries in that case (bootc-dev/bcvk#394), but the pinned bcvk 0.19.0 doesn't.This keeps one session daemon for the whole job: at the end of the Ubuntu host workarounds,
bootc-host-setup(and so the deprecatedbootc-ubuntu-setup) connects once, which spawns the daemon or reuses a running one, and turns off its idle timeout withvirt-admin daemon-timeout --timeout 0. It runs after the QEMU install and the/dev/kvmpermission change so the daemon probes the final capabilities. Ifvirt-adminfails, setup only warns, since that just brings the race back. Note the daemon now keeps the environment of the setup step instead of the step that first used libvirt, andpsstill shows its original--timeout=120. RHEL (virtqemud underdbus-run-session) is unchanged.Testing, with a new check in
Test virtualization setupthat records the daemon's PID after setup and, at least 150s later with no libvirt calls in between, requires the same process and runsbcvk libvirt list(virsh listwhere bcvk isn't installed):libvirtdPID 150s after setup: https://github.com/cgwalters-forge/bootc-dev-actions/actions/runs/37006308270virt-admincall: the check fails on all three runners because the daemon has exited: https://github.com/cgwalters-forge/bootc-dev-actions/actions/runs/37005682235Generated-by: https://github.com/cgwalters/#llms
Review draft in cgwalters-forge, not upstream yet. This section is removed when the PR is opened upstream.
bootc-dev/actions, basemainPVTI_lADOE9oHIs4BlJLczg9zlXktest-virtualization.yml, opted in on this forkTo review:
/promoteon a line of its own, to open it upstream, ready for review. Either covers only the commits pushed so far.Signed-off-by: Colin Walters <walters@verbum.org>to the commits lacking it (the bot's and yours; anyone else's only if you ask), with you as committer./draftline (in the same comment or before) to open it upstream as a draft (/readyundoes that).