From e137f69fd8c6a940acc4bfd8d99d3ddbeb62f987 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Tue, 6 Jun 2017 06:49:05 +0200 Subject: [PATCH] replication: add last_node to replication state So that we know which node produced the state. This is not always the local node, because we copy the state on migrate. --- PVE/Replication.pm | 1 + bin/test/ReplicationTestEnv.pm | 2 +- bin/test/replication_test4.log | 2 +- bin/test/replication_test5.log | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/PVE/Replication.pm b/PVE/Replication.pm index ebb28d8e..326ca6e9 100644 --- a/PVE/Replication.pm +++ b/PVE/Replication.pm @@ -368,6 +368,7 @@ my $run_replication_nolock = sub { $state->{pid} = $$; $state->{ptime} = PVE::ProcFSTools::read_proc_starttime($state->{pid}); + $state->{last_node} = PVE::INotify::nodename(); $state->{last_try} = $start_time; $state->{last_iteration} = $iteration; diff --git a/bin/test/ReplicationTestEnv.pm b/bin/test/ReplicationTestEnv.pm index 10cd85d7..7a9055fa 100755 --- a/bin/test/ReplicationTestEnv.pm +++ b/bin/test/ReplicationTestEnv.pm @@ -296,7 +296,7 @@ sub track_jobs { my $state = $jobcfg->{state}; my $changes = ''; - foreach my $k (qw(last_try last_sync fail_count error)) { + foreach my $k (qw(last_node last_try last_sync fail_count error)) { if (($oldstate->{$k} // '') ne ($state->{$k} // '')) { my $value = $state->{$k} // ''; chomp $value; diff --git a/bin/test/replication_test4.log b/bin/test/replication_test4.log index d8eb2eef..58df7591 100644 --- a/bin/test/replication_test4.log +++ b/bin/test/replication_test4.log @@ -2,7 +2,7 @@ 1000 job_900_to_node2: start replication job 1000 job_900_to_node2: end replication job with error: faked replication error 1000 job_900_to_node2: changed config next_sync => 1300 -1000 job_900_to_node2: changed state last_try => 1000, fail_count => 1, error => faked replication error +1000 job_900_to_node2: changed state last_node => node1, last_try => 1000, fail_count => 1, error => faked replication error 1300 job_900_to_node2: start replication job 1300 job_900_to_node2: end replication job with error: faked replication error 1300 job_900_to_node2: changed config next_sync => 1900 diff --git a/bin/test/replication_test5.log b/bin/test/replication_test5.log index a46665f2..e47f23db 100644 --- a/bin/test/replication_test5.log +++ b/bin/test/replication_test5.log @@ -6,7 +6,7 @@ 1000 job_900_to_node2: full sync 'local-zfs:vm-900-disk-1' (replicate_job_900_to_node2_1000_snap) 1000 job_900_to_node2: end replication job 1000 job_900_to_node2: changed config next_sync => 1800 -1000 job_900_to_node2: changed state last_try => 1000, last_sync => 1000 +1000 job_900_to_node2: changed state last_node => node1, last_try => 1000, last_sync => 1000 1840 job_900_to_node2: start replication job 1840 job_900_to_node2: guest => 900, type => qemu, running => 0 1840 job_900_to_node2: volumes => local-zfs:vm-900-disk-1 -- 2.39.5