From: Dietmar Maurer Date: Wed, 7 Jun 2017 09:28:40 +0000 (+0200) Subject: PVE::ReplicationConfig - set computed properties after schema verification X-Git-Url: https://git.proxmox.com/?p=pve-guest-common.git;a=commitdiff_plain;h=1fcde52aba8e6adae19a3b94b5c208fb3ecb8081 PVE::ReplicationConfig - set computed properties after schema verification Else we get schema verification errors. --- diff --git a/PVE/ReplicationConfig.pm b/PVE/ReplicationConfig.pm index de904ea..01e7206 100644 --- a/PVE/ReplicationConfig.pm +++ b/PVE/ReplicationConfig.pm @@ -95,7 +95,7 @@ sub parse_section_header { my $errmsg = undef; # set if you want to skip whole section eval { parse_replication_job_id($id); }; $errmsg = $@ if $@; - my $config = { guest => $guest }; + my $config = {}; return ($type, $id, $errmsg, $config); } return undef; @@ -120,6 +120,11 @@ sub parse_config { foreach my $id (sort keys %{$cfg->{ids}}) { my $data = $cfg->{ids}->{$id}; + my ($guest, $jobnum) = parse_replication_job_id($id); + + $data->{guest} = $guest; + $data->{jobnum} = $jobnum; + $data->{comment} = PVE::Tools::decode_text($data->{comment}) if defined($data->{comment}); @@ -150,6 +155,7 @@ sub write_config { my $tid = $plugin->get_unique_target_id($data); my $vmid = $data->{guest}; + die "property 'guest' has wrong value\n" if $id !~ m/^\Q$vmid\E-/; die "replication job for guest '$vmid' to target '$tid' already exists\n" if defined($target_hash->{$vmid}->{$tid}); $target_hash->{$vmid}->{$tid} = 1;