From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 0BE271FF0AD for ; Sun, 20 Sep 2026 18:56:53 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id A1288214D0; Sun, 20 Sep 2026 18:56:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i7KJTWtkyOY5FregOzdzR/vTSVFzv4rnjeW0p6KQ/h1VSTwQEiM72ziABz1SVaiknhVYoghEnx4U6ZHwaKW1mIHvEGeorfQraHcaBKYaeIIrYmQ09CnvD02pTzsYNcAWneQMdZkXEsastsLgpQ/yOrycHEtB0l8aYgB85TDGU8txqN2TEMUXKH9P2W83t6IywLvazG7doFgB6UK0YonNMXG8Wreu37U+UmjFezq6nLkRt5fPCMoc/rMbufzpEPLFPXfhMwNMroKEFultWkZ0uAqhAzJwlWTw6AGg//RuHeHGyd1I6ZlG1sDv09LmN0QZWgguUxTpJW3Ay7Dlt5hpcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rBHw6mSrYfyCGX6ht8s7Ra5Fbj8MLKEp0+aOeNRSM8o=; b=F4hXJkU4LtPUmoCC9lNnRlGMoGqej2mksxoioMRkc4N0ugA0uxLOynCe9Wji9LX7tCqbkHGF6/o5ZtoncrPmkD32020XYKprymrg/VlJwgtXR5nzkIuMtiKcG6Zpga3ZGJDjxgVnDla2kE/HYxrtY2XG9pAUt9pr+blTqQzS9EuDLfo1gDWqn4t7MunaQUOIksYs3DDUZrGf7xmUi5EHcBVqJH9hDXAI3nGTFqMnNyPt4AU3c4BY9OivxLG5vA37NlayCCvABqWpcrBKEgM3B/PE1YJqUpqooEbkJ0+C7PDNe1ugcifD9ET6Eki4QJ7jsaT5PWmM3OuavZWXLKVq2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ryomherold.dk; dmarc=pass action=none header.from=ryomherold.dk; dkim=pass header.d=ryomherold.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RyomHerold.dk; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rBHw6mSrYfyCGX6ht8s7Ra5Fbj8MLKEp0+aOeNRSM8o=; b=Zmc+Z1CtPENxSD/ACaDzSZZyDXq4msnvbBVDOrefhpCTv3sc5mSEVjcwuYNk30DA0sn4oT5QWJQ393Tq2p6zKuwJBqAAz65rjtgfP2oDMPWhjEEtNX2ibixJYv3zNovrJWsBA24djEc5zpcVkFYLwFVACjRtG/3UmhuyFrT7Y1W+3Rx4M0p+XYMZA6YYrshixwMK6/SrjJbgJeo6rO1K0o2TWMxW6tb01uxPszQKPsGt4vSvpDCe2o0W0HUJQ+jVdBl2+eGfzh68bqrH3sdd1TGe8lr5bN5mwMvjeR4y30V0AShr9+T62TmXO6wDD9oU3kNeqmWSy09JyVcbSxbyLw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=RyomHerold.dk; From: Michael Ryom To: pve-devel@lists.proxmox.com Subject: [PATCH ha-manager 4/7] sim: hardware: report actual running state in cluster service stats Date: Sun, 20 Sep 2026 18:22:11 +0200 Message-ID: <20260920162220.574802-5-Michael@RyomHerold.dk> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260920162220.574802-1-Michael@RyomHerold.dk> References: <20260920162220.574802-1-Michael@RyomHerold.dk> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: TL2P290CA0008.ISRP290.PROD.OUTLOOK.COM (2603:1096:950:2::11) To AS8PR10MB7231.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:619::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR10MB7231:EE_|AM0PR10MB883391:EE_ X-MS-Office365-Filtering-Correlation-Id: b9a1722d-126e-405d-31d8-08df1733716d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|10067099003|22082099003|18002099003|56012099006; X-Microsoft-Antispam-Message-Info: IhUhTRlxO9KchSH4SOG9Vl259J8BXg/TzDTulkCOFgliyqPNzYGcP5rCSgJQ8i9QhI5yPytZjJMixhnR8Af++pcFF1iEQdzE5lglljJJoouUVooeX0z51X7RZNcuwq9e3qDrkPPnyj3/TxG76ifbyQGKM7TnjfZfK5tWDxW0q5FpHdRQyVuZg4uSKZXLm0MiesEeyhpZHlagXKeN591jvdxJmEmLPjXBoq8zBBTrGjgfOUL1aBe5BqO4HkRa/VeLFQKi3/Gljthi1zXeYjseJl9WUOwS6IF90zZ79s4U6epD41cCBiyPZH45UudF7D4KpkyAMi/I3u6DYmdcvp3YRnNlhwLvNZ/Ol8Q3bC09BvrpMngcEfhSWrueZtUFAsbVhjDhF5KcgOx1KuVwf5+EqK6UIHi+wtjivK39yBkqS77YYo7DrtPhk7Vknvlsku7nO9T++PXtWJlOq5z9yQBYKbP54Tdq6qF1RVkwu2coDMJjAZTqT08buIpCcTXx6Jwi6rAsMEXM68jhylb5rlKY6J48+KyTNSW+kB9VyyO5tyMf7DXjXd3/U7MNQkDwFv+bmL5ICVW3I+Yi2EUBWXaX/CIOnA/NCaEHPRIny4BYRc6Sq6LwKqPI4KlqQUZoz5oN9tFaByE6r5zk9ZxQ6j6b7id/PHsi9v2FidApCkJ7NtU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR10MB7231.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(10067099003)(22082099003)(18002099003)(56012099006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0qUZpZfEURHd6BHEH4+AHICFpinQeeu2hfqAJ8CzKVjsB7g6hgdYgogrWF4m?= =?us-ascii?Q?Vg8FXKZXj4wrIeKPIx4j+ao2U5pd1lc2yIJkv87YbbjXYKuY+AJqNWpttRHi?= =?us-ascii?Q?7wzhlTWjeaGy1r8lz1o9C513Cs/Let7xrXz194a8IQcC5RlO+GkxACu+jlT+?= =?us-ascii?Q?UxyGjXbBDorAUsEJ4/Cjd2S7RObsaO0GhzALJ0rDXJNk+p8MSlTemEOdjT0N?= =?us-ascii?Q?vTryIN2B0vOlaFFq2W1kMxy5pIAWjCVU+DcqxLBAkXIMvESqwyyKCWltrtTG?= =?us-ascii?Q?U9eYl6UcxBeqqk8ARsLXruXbSwgUicEGh5VPwkH8U17vFb7DN7bLe//hU1u0?= =?us-ascii?Q?YI7rlv4yvkuik9vya/7fr7RW0OeAwJ/SvVOmfMhdc9qhl34qLdPOu9YACjsJ?= =?us-ascii?Q?4WU3IKR/mZ/84Um+qx3vlVF1AO5mJdnEjCPIm4uPZNHB5Qnnyd8jmH/fqGmk?= =?us-ascii?Q?l3jmpQsiA/EP4w6cZrwS6i495c2+6CO0zWhYKBnpMDHnfuJ8+NnZGS4WEXdh?= =?us-ascii?Q?GDngb0tRAfwXUQa9IV0RxHKpZxSPlzKvRuYzERP/kIIGZU42PHEnIf+EjGP1?= =?us-ascii?Q?2IFfVQt6ar59XDWP38iobFODoO7OcBZP2jGKc26tPJ0a9EJdmaK8vCDwPA+b?= =?us-ascii?Q?CMwb27O5bK6ijQbcRn4EdFMn47BjgQPWOQnA6qOfIYDtoDwnt1QaEQmbZm6s?= =?us-ascii?Q?xKHmlTXIEkx48N93hbI7RZyikIpmQy9NTKdnagjLpQkfWV7qDbKHneMsGwxc?= =?us-ascii?Q?vtQuNLqXqgsLimTDzLC3foERP6VZoUaL/aNAWdWcV8BEEPbi03eg+oKJsoxb?= =?us-ascii?Q?1tpWzmdp4qn9clCw121jBa5owqcNFjMKD8eLO9tMFLnu3K6SK5BTXkHW7Hpl?= =?us-ascii?Q?WtXBppHf2OcSS4nuBvHnOeaGeK6uiEkjdVkXJlroMyVRWw1O14XAzOt3Nk9S?= =?us-ascii?Q?TZDn/AnCzALSOUa3Zyw58nWamr0wUrOq5ZNm69b+jbYtO3J4IUNTJyYKcXxz?= =?us-ascii?Q?1fdR0qYvWm3HYJX174wDXp62+6yUPhyX0ZrA5R6e7Vx+JPkjgINnpMvztJOi?= =?us-ascii?Q?JHwdP+Rz97qj4fgqI1lULdoCk+rU0iIOMscmui0Q1uJuzvUx6+pvjr7h6uGL?= =?us-ascii?Q?qGMSrUq+/Iz2xVhbbnzvk+cLih2PvxyZrVG2JktAauiDwlD6S/gPs/sIGJfx?= =?us-ascii?Q?cVmLwEwLwIvApGuvg/waBanMUkkKdYcv+53nbpujgcGvekcVwBu4aLLRYzHQ?= =?us-ascii?Q?QsOCskSmuwDBZqM9qKVLMX/3yfJvQUN/ZU399EnO09Sx7xMhmAHTlRA9iOE1?= =?us-ascii?Q?Q0yRRNPqywaekxvYEyDHBnGBEE0AO6B/ZLwycrMEw/sbHyPmZf+RWY8gK+Qf?= =?us-ascii?Q?6RypGfS+Mr87LizG1EeHu62y7N0Mz6za6OD1c4bWSIIOvrJxYpOMQyGAszOC?= =?us-ascii?Q?L8H+3xpMkyIARuQF5bC4feEF6keL38Jfr9u85ilOkWlQ8qh8m11rbGr2oZOT?= =?us-ascii?Q?KdaQ3S2pH7SsQMw7MG31rWhDyr9vqHURZknE3DzgpPYgiQM5pRqNVcqqT5Y6?= =?us-ascii?Q?ZzgFQLE00RGVgdauu2d8MvbWCUjmPhGW5+BAMz9paUGZqYYfb251pZtu2Soq?= =?us-ascii?Q?y5cm4gpe9cYBDoT+lNH/crcKLIqc3Zn0ORJal0WO1912foSUyHJjfhiA82Nu?= =?us-ascii?Q?z3OaMeYYp6lPoHPLloqBo3QcRgfUYAm4VfmetdqeRTD8oCDBYWcVk6TzXWx1?= =?us-ascii?Q?5inGUE9TcQ=3D=3D?= X-OriginatorOrg: RyomHerold.dk X-MS-Exchange-CrossTenant-Network-Message-Id: b9a1722d-126e-405d-31d8-08df1733716d X-MS-Exchange-CrossTenant-AuthSource: AS8PR10MB7231.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2026 16:23:02.7488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 26a2499e-4646-4888-a695-c64736a56807 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +rBGd7pLuGTCKBDskT7OtIXHNnQ4pOzrmDXBwC09OruN/g8hzefOJFVFzrUlM45DoBk+pHNuf5lE1ISLPx5cMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB883391 X-SPAM-LEVEL: Spam detection results: 0 DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: XTTWZXU3MO4PRPYKMN46MS3PO6662SKC X-Message-ID-Hash: XTTWZXU3MO4PRPYKMN46MS3PO6662SKC X-MailFrom: Michael@RyomHerold.dk X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Michael Ryom X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: The simulated cluster service stats reported a service as running whenever its request state was 'started', even before the LRM actually started it. On the real cluster, the 'running' flag of the service stats is derived from the actual RRD status of the guest, and the node usage stats only contain load of actually running guests. Report the running state as marked by the LRM in the node service status instead, so that the service stats and the node usage stats of the simulated hardware are consistent with each other, like they are on the real cluster. Signed-off-by: Michael Ryom --- src/PVE/HA/Sim/Hardware.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm index e1a9ddd..538bc4e 100644 --- a/src/PVE/HA/Sim/Hardware.pm +++ b/src/PVE/HA/Sim/Hardware.pm @@ -1198,6 +1198,9 @@ sub watchdog_update { my sub get_cluster_service_stats { my ($self) = @_; + my $cstatus = $self->read_hardware_status_nolock(); + my $node_service_status = { map { $_ => $self->read_service_status($_) } keys %$cstatus }; + my $stats = {}; for my $sid (keys $self->{service_config}->%*) { my $cfg = $self->{service_config}->{$sid}; @@ -1205,7 +1208,11 @@ my sub get_cluster_service_stats { $stats->{$sid} = { node => $cfg->{node}, state => $cfg->{state}, - running => $cfg->{state} eq 'started', + # like the RRD-based stats on the real cluster, report whether + # the service is actually running (as marked by the LRM), not + # whether its request state is 'started'; the node usage stats + # only account for actually running services as well + running => $node_service_status->{ $cfg->{node} }->{$sid} ? 1 : 0, usage => {}, }; } -- 2.47.3