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 96F6F1FF17A for ; Fri, 4 Jul 2025 20:16:53 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 7FF473C8D7; Fri, 4 Jul 2025 20:17:14 +0200 (CEST) From: Daniel Kral To: pve-devel@lists.proxmox.com Date: Fri, 4 Jul 2025 20:16:46 +0200 Message-Id: <20250704181659.465441-8-d.kral@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250704181659.465441-1-d.kral@proxmox.com> References: <20250704181659.465441-1-d.kral@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.011 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH ha-manager v3 06/15] config: delete services from rules if services are deleted from config 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" Remove HA resources from rules, where these HA resources are used, if they are removed by delete_service_from_config(...), which is called by the HA resources' delete API endpoint and possibly external callers, e.g. if the HA resource is removed externally. If all of the rules' HA resources have been removed, the rule itself must be removed as it would result in an erroneous rules config, which would become user-visible at the next read and parse of the rules config. Signed-off-by: Daniel Kral --- src/PVE/HA/Config.pm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/PVE/HA/Config.pm b/src/PVE/HA/Config.pm index 012ae16..2e520aa 100644 --- a/src/PVE/HA/Config.pm +++ b/src/PVE/HA/Config.pm @@ -360,6 +360,25 @@ sub delete_service_from_config { "delete resource failed", ); + PVE::HA::Config::lock_ha_domain( + sub { + my $rules = read_rules_config(); + + return if !defined($rules->{ids}); + + for my $ruleid (keys %{ $rules->{ids} }) { + my $rule_resources = $rules->{ids}->{$ruleid}->{resources} // {}; + + delete $rule_resources->{$sid}; + + delete $rules->{ids}->{$ruleid} if !%$rule_resources; + } + + write_rules_config($rules); + }, + "delete resource from rules failed", + ); + return !!$res; } -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel