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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox