[pve-devel] [v2 qemu-server 09/10] migrate: keep track of replication

Fabian Grünbichler f.gruenbichler at proxmox.com
Fri Aug 4 14:54:06 CEST 2017


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 at proxmox.com>
---
 PVE/QemuMigrate.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index 471d5a1..4e6a7f0 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -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}) {
-- 
2.11.0





More information about the pve-devel mailing list