]> git.proxmox.com Git - qemu-server.git/commitdiff
migrate: keep track of replication
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Fri, 4 Aug 2017 12:54:06 +0000 (14:54 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 7 Aug 2017 07:23:56 +0000 (09:23 +0200)
and only transfer state and switch direction if there
actually are any replicated volumes.

once we add support for live-migration with replicated
volumes, adding a set-replication-state command to the
tunnel and using that probably makes sense.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
PVE/QemuMigrate.pm

index 471d5a158d9b34759f259f4a4dbfbbcd10317382..4e6a7f0d0761df5f88ea3a840c46a1ac8ccb19fa 100644 (file)
@@ -442,6 +442,7 @@ sub sync_disks {
            my $logfunc = sub { my ($msg) = @_;  $self->log('info', $msg); };
            $rep_volumes = PVE::Replication::run_replication(
               'PVE::QemuConfig', $jobcfg, $start_time, $start_time, $logfunc);
+           $self->{replicated_volumes} = $rep_volumes;
        }
 
        foreach my $volid (keys %$local_volumes) {
@@ -916,7 +917,7 @@ sub phase3_cleanup {
     }
 
     # transfer replication state before move config
-    $self->transfer_replication_state();
+    $self->transfer_replication_state() if $self->{replicated_volumes};
 
     # move config to remote node
     my $conffile = PVE::QemuConfig->config_file($vmid);
@@ -925,7 +926,7 @@ sub phase3_cleanup {
     die "Failed to move config to node '$self->{node}' - rename failed: $!\n"
         if !rename($conffile, $newconffile);
 
-    $self->switch_replication_job_target();
+    $self->switch_replication_job_target() if $self->{replicated_volumes};
 
     if ($self->{livemigration}) {
        if ($self->{storage_migration}) {