[pve-devel] [PATCH/RFC v2 qemu-server 8/8] don't migrate replicated VM whose replication job is marked for removal
Fabian Ebner
f.ebner at proxmox.com
Thu Oct 29 14:31:32 CET 2020
while it didn't actually fail, we probably want to avoid the behavior:
With remove_job=full:
* run_replication called during migration causes the replicated volumes to
be removed
* migration continues by fully copying all volumes
With remove_job=local:
* run_replication called during migration causes the job (and local
replication snapshots) to be removed
* migration continues by fully copying all volumes and renaming them to
avoid collision with the still existing remote volumes
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
New in v2
Alternatively, we could throw out the remove_job property before calling
run_replication during migration, use the replicated volumes, and let
the scheduled pvesr call remove the job after migration
PVE/QemuMigrate.pm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index 3fb2850..c6623e1 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -224,6 +224,10 @@ sub prepare {
$self->{replication_jobcfg} = $repl_conf->find_local_replication_job($vmid, $self->{node});
$self->{is_replicated} = $repl_conf->check_for_existing_jobs($vmid, 1);
+ if ($self->{replication_jobcfg} && defined($self->{replication_jobcfg}->{remove_job})) {
+ die "refusing to migrate replicated VM whose replication job is marked for removal\n";
+ }
+
PVE::QemuConfig->check_lock($conf);
my $running = 0;
--
2.20.1
More information about the pve-devel
mailing list