From f6a17ff5e3e998a21e638b9dbd9ab5e1bd94f9df Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 21 Jun 2017 10:59:45 +0200 Subject: [PATCH 1/1] Change target in replication-state when replication direction is switched --- PVE/QemuMigrate.pm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index 8e541bf..0f330a8 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -858,9 +858,17 @@ my $transfer_replication_state = sub { my $stateobj = PVE::ReplicationState::read_state(); - if (defined($stateobj->{$vmid})) { + my $target_node = $self->{node}; + my $local_node = PVE::INotify::nodename(); + + my $oldid = PVE::ReplicationConfig::Cluster->get_unique_target_id({ target => $target_node }); + my $newid = PVE::ReplicationConfig::Cluster->get_unique_target_id({ target => $local_node }); + + if (defined(my $vmstate = $stateobj->{$vmid})) { + $vmstate->{$newid} = delete($vmstate->{$oldid}) if defined($vmstate->{$oldid}); + # This have to be quoted when it run it over ssh. - my $state = PVE::Tools::shellquote(encode_json($stateobj->{$vmid})); + my $state = PVE::Tools::shellquote(encode_json($vmstate)); my $cmd = [ @{$self->{rem_ssh}}, 'pvesr', 'set-state', $vmid, $state]; $self->cmd($cmd); -- 2.39.2