From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 6A1E81FF164 for ; Fri, 20 Jun 2025 13:00:33 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D1FE39DF7; Fri, 20 Jun 2025 13:01:02 +0200 (CEST) Date: Fri, 20 Jun 2025 13:00:55 +0200 From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= To: Proxmox VE development discussion References: <20250618130209.90649-1-f.ebner@proxmox.com> <20250618130209.90649-2-f.ebner@proxmox.com> In-Reply-To: <20250618130209.90649-2-f.ebner@proxmox.com> MIME-Version: 1.0 User-Agent: astroid/0.16.0 (https://github.com/astroidmail/astroid) Message-Id: <1750417197.vlywcu55er.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.044 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH common v2 01/32] schema: parse property string: support skipping keys X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" On June 18, 2025 3:01 pm, Fiona Ebner wrote: > In certain situations like restoring a backup, it can be useful to > skip certain properties. This allows to drop outdated properties from > the schema while still being able to parse property strings that > contain them, but without allowing all additional properties. > > Signed-off-by: Fiona Ebner > --- > > New in v2. > > src/PVE/JSONSchema.pm | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm > index 8c90986..e617fc1 100644 > --- a/src/PVE/JSONSchema.pm > +++ b/src/PVE/JSONSchema.pm > @@ -1033,7 +1033,7 @@ sub parse_boolean { > } > > sub parse_property_string { > - my ($format, $data, $path, $additional_properties) = @_; > + my ($format, $data, $path, $additional_properties, $options) = @_; > > # In property strings we default to not allowing additional properties > $additional_properties = 0 if !defined($additional_properties); > @@ -1057,6 +1057,7 @@ sub parse_property_string { > } > > my $default_key; > + my $skip = $options->{skip} ? { map { $_ => 1 } $options->{skip}->@* } : {}; > > my $res = {}; > foreach my $part (split(/,/, $data)) { > @@ -1064,6 +1065,7 @@ sub parse_property_string { > > if ($part =~ /^([^=]+)=(.+)$/) { > my ($k, $v) = ($1, $2); > + next if $skip->{$k}; should we log this? chances are this is a one-time operation to make an old config compatible with a new schema without dropping whole property strings, so it might be nice to inform the user that this happened, just like we do if we drop the whole line? > die "duplicate key in comma-separated list property: $k\n" if defined($res->{$k}); > my $schema = $format->{$k}; > if (my $alias = $schema->{alias}) { > -- > 2.39.5 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel