]> git.proxmox.com Git - qemu-server.git/commitdiff
migration: add missing eval on nbdstop with tunnel v2
authorAlexandre Derumier <aderumier@odiso.com>
Fri, 29 Sep 2023 08:28:59 +0000 (10:28 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 6 Nov 2023 18:46:43 +0000 (19:46 +0100)
It was already done in tunnel v1.

Avoid to avoid migration (and keep both source/targetvm locked) if
nbdstop error occur

2023-09-28 16:20:39 ERROR: error - tunnel command '{"cmd":"nbdstop"}' failed - failed to handle 'nbdstop' command - VM 140 qmp command 'nbd-server-stop' failed - got timeout
2023-09-28 16:20:39 ERROR: migration finished with problems (duration 00:01:42)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
PVE/QemuMigrate.pm

index 111eeb07e8425b515665df15be9ea5969bb1dff9..f30ce9f42eb78d3dfc53558219005ab3a4683c2c 100644 (file)
@@ -1477,7 +1477,13 @@ sub phase3_cleanup {
            $self->log('info', "stopping NBD storage migration server on target.");
            # stop nbd server on remote vm - requirement for resume since 2.9
            if ($tunnel && $tunnel->{version} && $tunnel->{version} >= 2) {
-               PVE::Tunnel::write_tunnel($tunnel, 30, 'nbdstop');
+               eval {
+                   PVE::Tunnel::write_tunnel($tunnel, 30, 'nbdstop');
+               };
+               if (my $err = $@) {
+                   $self->log('err', $err);
+                   $self->{errors} = 1;
+               }
            } else {
                my $cmd = [@{$self->{rem_ssh}}, 'qm', 'nbdstop', $vmid];