fix: Live migration with conntrack state sync#230
Open
booxter wants to merge 8 commits into
Open
Conversation
booxter
commented
Apr 13, 2026
Contributor
- pve-qemu-server: install VMState files in NixOS paths
- qemu-server: register VMState service and DBus policy
- pve-qemu-server: wrap dbus-vmstate for conntrack sync
- pve-qemu-server: propagate Perl runtime dependencies
- pve-ha-manager: propagate Perl runtime dependencies
- tests: add CLI conntrack migration coverage
- manager: add proxmox-ve tools to pvedaemon PATH
- tests: add API conntrack migration coverage
Register only the VMState systemd unit and DBus system policy from pve-qemu-server, instead of importing the package's full unit set. This fixes the missing pve-dbus-vmstate@.service integration without overlapping with the module-owned qmeventd service.
Wrap the dbus-vmstate helper with conntrack-tools on PATH and its package-local Perl library path in PERL5LIB. This gives the helper the runtime it needs for conntrack state synchronization.
Extend pve-qemu-server's runtime Perl environment so qm and its helpers can load the Proxmox Perl modules they reach at runtime. This adds the missing package dependencies and wraps the installed executables with the corresponding PERL5LIB and PATH entries.
Include pve-ha-manager's dependency Perl trees in the wrapped PERL5LIB so HA code can load the Proxmox modules it reaches at runtime. This matches the runtime model used for the qemu-server entry points and fixes the HA-side module lookup failures.
b8838f0 to
017ce7e
Compare
Prepend cfg.package to the pvedaemon service PATH so worker processes can resolve the sibling Proxmox management tools they invoke at runtime, including pvesh during dbus-vmstate cleanup. This fixes the API and UI migration path.
Add a separate migration regression test that talks to the real HTTP API, polls the resulting task, and checks the conntrack transfer and dbus-vmstate cleanup behavior. This covers the pveproxy and pvedaemon execution path used by the UI, which is distinct from qm migrate run from a shell.
017ce7e to
156d0f5
Compare
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.