From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 2F5821FF09B for ; Mon, 28 Sep 2026 09:15:57 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id B5EC0217E2; Mon, 28 Sep 2026 09:14:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dualfroz.com; s=dkim; t=1790314336; h=from:subject:date:message-id:to:mime-version: content-transfer-encoding:in-reply-to:references; bh=DUaYr4X0onwKWtHsIfjfpDYnAqc1ml2bCT4+J0aLdw8=; b=cuTnEI+4AH+X5xrjV5u88aH5kUoSWfklRidx7mILqnBAbeBxIHLfUAI0PeklnRCZk97gD7 wjJEA2JLfSBiqFzMtE04gZF3lVKxEG5sc6y5WC8Kgf1MxDPYgEEUIvkus5Db9OmQy1gJD4 yhmYrudHbV7iDJCU57Cn/FJsbGaFWtjopQ6v+QMY4XMgvBZRetdejBtj7w4ublfmxjRcbT A0Nk03NNssyuS4TO3RGysFziyJZ1rNkrjzRCw5Z4/OWhNV+sLegaNAPYOmXB3yjEOCwS+7 bHPPE6P/TNqi+fgp/qVbgJIvCEV6GsObO7x1J+VCjv6f0L2mlHFKpYTwFaB/Ag== From: Michal Fox To: pve-devel@lists.proxmox.com Subject: [PATCH manager 1/2] fix #6874: ui: node selectors: sort memory usage by percentage Date: Fri, 25 Sep 2026 05:32:13 +0000 Message-ID: <20260925053214.7-2-me@dualfroz.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260925053214.7-1-me@dualfroz.com> References: <20260925053214.7-1-me@dualfroz.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Last-TLS-Session-Version: TLSv1.3 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.391 Adjusted score from AWL reputation of From: address 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record X-MailFrom: me@dualfroz.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation Message-ID-Hash: GZMWAWXNHEOYEGGNESGKKKNNNAQZL56A X-Message-ID-Hash: GZMWAWXNHEOYEGGNESGKKKNNNAQZL56A X-Mailman-Approved-At: Mon, 28 Sep 2026 09:14:43 +0200 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 memory usage column of the node selector, used e.g. in the migration dialog, and of the HA node priority selector shows a percentage, but uses the raw 'mem' bytes as data index. Sorting by that column thus sorts by used bytes, which does not match the displayed values as soon as the nodes have a different amount of memory. Add a calculated 'memuse' field, like the resource store already has, and use it for the column. This also makes the percentage renderer receive a ratio here, like everywhere else, which allows dropping its bytes fallback in a follow-up. Signed-off-by: Michal Fox --- www/manager6/form/NodeSelector.js | 16 ++++++++++++++-- www/manager6/ha/NodePrioritySelector.js | 14 ++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/www/manager6/form/NodeSelector.js b/www/manager6/form/NodeSelector.js index 37d3ee5b..73d173bb 100644 --- a/www/manager6/form/NodeSelector.js +++ b/www/manager6/form/NodeSelector.js @@ -16,7 +16,19 @@ Ext.define('PVE.form.NodeSelector', { valueField: 'node', displayField: 'node', store: { - fields: ['node', 'cpu', 'maxcpu', 'mem', 'maxmem', 'uptime'], + fields: [ + 'node', + 'cpu', + 'maxcpu', + 'mem', + 'maxmem', + 'uptime', + { + name: 'memuse', + type: 'number', + calculate: PVE.Utils.calculate_mem_usage, + }, + ], proxy: { type: 'proxmox', url: '/api2/json/nodes', @@ -47,7 +59,7 @@ Ext.define('PVE.form.NodeSelector', { renderer: PVE.Utils.render_mem_usage_percent, sortable: true, width: 100, - dataIndex: 'mem', + dataIndex: 'memuse', }, { header: gettext('CPU usage'), diff --git a/www/manager6/ha/NodePrioritySelector.js b/www/manager6/ha/NodePrioritySelector.js index 635374fd..9e26b2e0 100644 --- a/www/manager6/ha/NodePrioritySelector.js +++ b/www/manager6/ha/NodePrioritySelector.js @@ -23,7 +23,17 @@ Ext.define('PVE.forms.NodePrioritySelector', { store: { autoLoad: true, - fields: ['node', 'cpu', 'mem', 'priority'], + fields: [ + 'node', + 'cpu', + 'mem', + 'priority', + { + name: 'memuse', + type: 'number', + calculate: PVE.Utils.calculate_mem_usage, + }, + ], proxy: { type: 'proxmox', url: '/api2/json/nodes', @@ -47,7 +57,7 @@ Ext.define('PVE.forms.NodePrioritySelector', { renderer: PVE.Utils.render_mem_usage_percent, sortable: true, width: 150, - dataIndex: 'mem', + dataIndex: 'memuse', }, { header: gettext('CPU usage'), -- 2.43.0