as safeguard when migrating across clusters, which might have different versions installed.
Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> --- Notes: new in v5 src/PVE/LXC/Config.pm | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/PVE/LXC/Config.pm b/src/PVE/LXC/Config.pm index 6c2acd6..16739a8 100644 --- a/src/PVE/LXC/Config.pm +++ b/src/PVE/LXC/Config.pm @@ -877,7 +877,7 @@ for (my $i = 0; $i < $MAX_UNUSED_DISKS; $i++) { } sub parse_pct_config { - my ($filename, $raw) = @_; + my ($filename, $raw, $strict) = @_; return undef if !defined($raw); @@ -887,6 +887,16 @@ sub parse_pct_config { pending => {}, }; + my $handle_error = sub { + my ($msg) = @_; + + if ($strict) { + die $msg; + } else { + warn $msg; + } + }; + $filename =~ m|/lxc/(\d+).conf$| || die "got strange filename '$filename'"; @@ -926,9 +936,9 @@ sub parse_pct_config { if ($validity eq 1) { push @{$conf->{lxc}}, [$key, $value]; } elsif (my $errmsg = $validity) { - warn "vm $vmid - $key: $errmsg\n"; + $handle_error->("vm $vmid - $key: $errmsg\n"); } else { - warn "vm $vmid - unable to parse config: $line\n"; + $handle_error->("vm $vmid - unable to parse config: $line\n"); } } elsif ($line =~ m/^(description):\s*(.*\S)\s*$/) { $descr .= PVE::Tools::decode_text($2); @@ -939,16 +949,16 @@ sub parse_pct_config { if ($section eq 'pending') { $conf->{delete} = $value; } else { - warn "vm $vmid - property 'delete' is only allowed in [pve:pending]\n"; + $handle_error->("vm $vmid - property 'delete' is only allowed in [pve:pending]\n"); } } elsif ($line =~ m/^([a-z][a-z_]*\d*):\s*(.+?)\s*$/) { my $key = $1; my $value = $2; eval { $value = PVE::LXC::Config->check_type($key, $value); }; - warn "vm $vmid - unable to parse value of '$key' - $@" if $@; + $handle_error->("vm $vmid - unable to parse value of '$key' - $@") if $@; $conf->{$key} = $value; } else { - warn "vm $vmid - unable to parse config: $line\n"; + $handle_error->("vm $vmid - unable to parse config: $line\n"); } } -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel