As reported in the community forum [0], it might happen that the dbus-vmstate object is not added (quickly enough) to the target QEMU instance, before the migration state is loaded. This would result in a crash of the target instance:
> kvm: Unknown savevm section or instance 'dbus-vmstate/dbus-vmstate' > 0. Make sure that your current VM setup matches your saved VM setup, > including any hotplugged devices > kvm: load of migration failed: Invalid argument This is after the configuration is already moved and thus there also is no source instance running anymore. Change the type of the 'pve-dbus-vmstate@' service to 'notify', so that starting the service returns success only after the 'dbus-vmstate' object has been added to the QEMU instance. [0]: https://forum.proxmox.com/threads/172588/ Signed-off-by: Fiona Ebner <[email protected]> --- Dependency bump qemu-server -> pve-common needed. No changes in v3. src/usr/dbus-vmstate | 3 +++ src/usr/[email protected] | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/usr/dbus-vmstate b/src/usr/dbus-vmstate index ac6f8cfb..b2baa840 100755 --- a/src/usr/dbus-vmstate +++ b/src/usr/dbus-vmstate @@ -15,6 +15,7 @@ use Net::DBus::Reactor; use PVE::QemuServer::Helpers; use PVE::QemuServer::QMPHelpers qw(qemu_objectadd qemu_objectdel); use PVE::SafeSyslog; +use PVE::Systemd; use PVE::Tools; use base qw(Net::DBus::Object); @@ -165,4 +166,6 @@ qemu_objectadd($vmid, 'pve-vmstate', 'dbus-vmstate', 'id-list' => "pve-vmstate-$vmid", ); +PVE::Systemd::sd_notify(0, "READY=1\n"); + Net::DBus::Reactor->main()->run(); diff --git a/src/usr/[email protected] b/src/usr/[email protected] index 56b4e285..616f6979 100644 --- a/src/usr/[email protected] +++ b/src/usr/[email protected] @@ -6,5 +6,5 @@ PartOf=%i.scope [Service] Slice=qemu.slice -Type=simple +Type=notify ExecStart=/usr/libexec/qemu-server/dbus-vmstate %i -- 2.47.3 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
