to reduce downtime and for correct error handling. otherwise if phase1
fails, we'd still attempt to restart the container on the target node

Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>
---
 src/PVE/LXC/Migrate.pm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/PVE/LXC/Migrate.pm b/src/PVE/LXC/Migrate.pm
index 93446d7..cab2aed 100644
--- a/src/PVE/LXC/Migrate.pm
+++ b/src/PVE/LXC/Migrate.pm
@@ -318,6 +318,14 @@ sub phase1 {
     $self->{conf_migrated} = 1;
 
     $self->switch_replication_job_target();
+
+    # in restart mode, we start the container on the target node
+    # after all volumes and the config file have been migrated
+    if ($self->{opts}->{restart} && $self->{was_running}) {
+       $self->log('info', "start container on target node");
+       my $cmd = [ @{$self->{rem_ssh}}, 'pct', 'start', $vmid, '--skip-lock'];
+       $self->cmd($cmd);
+    }
 }
 
 sub phase1_cleanup {
@@ -366,14 +374,6 @@ sub final_cleanup {
        my $cmd = [ @{$self->{rem_ssh}}, 'pct', 'unlock', $vmid ];
        $self->cmd_logerr($cmd, errmsg => "failed to clear migrate lock");      
     }
-
-    # in restart mode, we start the container on the target node
-    # after migration
-    if ($self->{opts}->{restart} && $self->{was_running}) {
-       $self->log('info', "start container on target node");
-       my $cmd = [ @{$self->{rem_ssh}}, 'pct', 'start', $vmid];
-       $self->cmd($cmd);
-    }
 }
 
 1;
-- 
2.14.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to