Skip to content

fix: Live migration with conntrack state sync#230

Open
booxter wants to merge 8 commits into
SaumonNet:mainfrom
booxter:fix-conntrack-state-migration
Open

fix: Live migration with conntrack state sync#230
booxter wants to merge 8 commits into
SaumonNet:mainfrom
booxter:fix-conntrack-state-migration

Conversation

@booxter

@booxter booxter commented Apr 13, 2026

Copy link
Copy Markdown
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

booxter added 5 commits April 12, 2026 20:17
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.
@booxter booxter force-pushed the fix-conntrack-state-migration branch from b8838f0 to 017ce7e Compare April 13, 2026 01:04
booxter added 3 commits April 12, 2026 21:17
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.
@booxter booxter force-pushed the fix-conntrack-state-migration branch from 017ce7e to 156d0f5 Compare April 13, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant