From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Igor Thaller" <igor.thaller@aon.at>, <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] SPAM: [PATCH manager] ui: dc summary: fix calculation of shared storage size
Date: Wed, 31 Jul 2024 12:09:30 +0200 [thread overview]
Message-ID: <D33N4UHKEY05.EUN50LT02D7V@proxmox.com> (raw)
In-Reply-To: <20240730134432.110382-1-igor.thaller@aon.at>
On Tue Jul 30, 2024 at 3:44 PM CEST, Igor Thaller wrote:
> The issue is related to the 'Summary' tab under 'Datacenter' inside a
> cluster. To get a steady reading of the storage size data, the frontend
> requests the '/api2/json/cluster/resources' every three seconds to
> retrieve the necessary data to calculate the used and total storage
> size.
>
> The problem occurs when a shared storage is defined and a node goes
> offline. As the node is not online, it cannot report the shared storage
> size (both used and total) back to the other nodes. The order of the
> JSON response is not always the same, so it is possible that the offline
> node will appear first. Consequently, the front-end will display the
> wrong total and used storage. This is because the shared storage data
> has both the maximum disk size and the used disk set to zero when the
> node is offline. This causes the total and used space data to be
> calculated and displayed incorrectly, leading to fluctuations in the
> displayed percentage of used disk space.
>
> To fix this, a conditional check to skip the storage report if its
> status is 'unknown' and it is shared was added. This prevents the
> unreliable data from being processed.
>
> To test these changes, adjust the 'max_requests' variable in the Perl
> script located at '/usr/share/perl5/PVE/Service/pveproxy.pm' to increase
> the likelihood of the error to occur. This makes the storage size
> fluctuations more frequent. Then compare the storage results (both used
> and total sizes) before and after implementing the fix.
>
> Note: Be aware that it takes around one minute for the spike to happen.
>
> Reported-by: Friedrich Weber <f.weber@proxmox.com>
> Signed-off-by: Igor Thaller <igor.thaller@aon.at>
> ---
> www/manager6/dc/Summary.js | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/www/manager6/dc/Summary.js b/www/manager6/dc/Summary.js
> index efb44dae..9b8f3280 100644
> --- a/www/manager6/dc/Summary.js
> +++ b/www/manager6/dc/Summary.js
> @@ -170,6 +170,11 @@ Ext.define('PVE.dc.Summary', {
> } else if (countedStorage[sid]) {
> break;
> }
> +
> + if (data.status === "unknown" && data.shared) {
> + break;
> + }
> +
> used += data.disk;
> total += data.maxdisk;
> countedStorage[sid] = true;
lgtm :)
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next parent reply other threads:[~2024-07-31 10:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240730134432.110382-1-igor.thaller@aon.at>
2024-07-31 10:09 ` Shannon Sterz [this message]
2024-07-30 13:44 Igor Thaller via pve-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D33N4UHKEY05.EUN50LT02D7V@proxmox.com \
--to=s.sterz@proxmox.com \
--cc=igor.thaller@aon.at \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal