From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id CD4831FF146 for ; Tue, 28 Apr 2026 11:11:25 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0AF13BC94; Tue, 28 Apr 2026 11:11:25 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 28 Apr 2026 11:10:51 +0200 Message-Id: Subject: Re: [PATCH pve-ha-manager 6/7] api: status: add load imbalance to status From: "Daniel Kral" To: "Dominik Rusovac" , X-Mailer: aerc 0.21.0-136-gdb9fe9896a79-dirty References: <20260427132031.220468-1-d.rusovac@proxmox.com> <20260427132031.220468-7-d.rusovac@proxmox.com> In-Reply-To: <20260427132031.220468-7-d.rusovac@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1777367355319 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.078 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [status.pm] Message-ID-Hash: VJFRIRHTJUCPOOP2GGDLCMESJ7KGTUXA X-Message-ID-Hash: VJFRIRHTJUCPOOP2GGDLCMESJ7KGTUXA X-MailFrom: d.kral@proxmox.com 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 X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Mon Apr 27, 2026 at 3:20 PM CEST, Dominik Rusovac wrote: > This is a very basic measure to enable users to detect the prevailing > load imbalance in the UI, which atm reveals nothing about the latter. > > imo, enabling users to track how the load imbalance changed over time > (using RRD graphs, for example) should be considered, in the long run. > > Signed-off-by: Dominik Rusovac > --- > src/PVE/API2/HA/Status.pm | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/PVE/API2/HA/Status.pm b/src/PVE/API2/HA/Status.pm > index 4894f3b..acec78e 100644 > --- a/src/PVE/API2/HA/Status.pm > +++ b/src/PVE/API2/HA/Status.pm > @@ -199,7 +199,9 @@ __PACKAGE__->register_method({ > } > my $datacenter_config =3D eval { cfs_read_file('datacenter.c= fg') } // {}; > if (my $crs =3D $datacenter_config->{crs}) { > - $extra_status .=3D " - $crs->{ha} load CRS" > + $extra_status .=3D > + " - $crs->{ha} load CRS " > + . sprintf("(load imbalance: %.2f", 100 * $status->{i= mbalance}) . "%)" > if $crs->{ha} && $crs->{ha} ne 'basic'; I think this should also check whether the load balancing system is enabled to not clutter the status string if it's unused or no action is taken if this value is high, but no hard feelings. > } > my $time_str =3D localtime($status->{timestamp});