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 7BD9F1FF0E5 for ; Wed, 29 Jul 2026 10:55:27 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 1226A2132E; Wed, 29 Jul 2026 10:55:27 +0200 (CEST) From: =?UTF-8?q?Michael=20K=C3=B6ppl?= To: pve-devel@lists.proxmox.com Subject: [PATCH manager 1/1] ui: crs: add tech preview warning for rebalance on start Date: Wed, 29 Jul 2026 10:55:05 +0200 Message-ID: <20260729085505.59744-1-m.koeppl@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1785315268193 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.329 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_LOW -0.7 Sender listed at https://www.dnswl.org/, low trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 4NFURDHOCEOMOD7FKXAXVCBOSVKX37PG X-Message-ID-Hash: 4NFURDHOCEOMOD7FKXAXVCBOSVKX37PG X-MailFrom: m.koeppl@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: For static and dynamic scheduling modes, rebalance on start is in technology preview [0]. Display a warning message if either "Static Load" or "Dynamic Load" is selected and the "Rebalance on Start" checkbox is checked. Also renames the canUseAutoRebalancing formula since the predicate now has a second consumer that is separate from the auto-rebalancing option, so the old name described one of its callers rather than the condition it tests. Naming the condition itself avoids duplicating the formula check for the hint's visibility binding. This avoids confusion about the status [1] of the feature given what is stated in the documentation. [0] https://pve.proxmox.com/pve-docs/chapter-ha-manager.html#_ha_resource_rebalance_on_start_opt_in [1] https://forum.proxmox.com/threads/185390/ Signed-off-by: Michael Köppl --- www/manager6/form/CRSOptions.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/www/manager6/form/CRSOptions.js b/www/manager6/form/CRSOptions.js index 84f6d5062..75611ce23 100644 --- a/www/manager6/form/CRSOptions.js +++ b/www/manager6/form/CRSOptions.js @@ -21,12 +21,15 @@ Ext.define('PVE.form.CRSOptions', { data: { crsMode: '__default__', autoRebalancing: 0, + rebalanceOnStart: 0, }, formulas: { - canUseAutoRebalancing: (get) => + loadBasedScheduling: (get) => get('crsMode') === 'static' || get('crsMode') === 'dynamic', autoRebalancingDisabled: (get) => - !get('autoRebalancing') || !get('canUseAutoRebalancing'), + !get('autoRebalancing') || !get('loadBasedScheduling'), + rebalanceOnStartHintHidden: (get) => + !get('rebalanceOnStart') || !get('loadBasedScheduling'), }, }, @@ -64,6 +67,19 @@ Ext.define('PVE.form.CRSOptions', { 'Use CRS to select the least loaded node when starting an HA resource', ), value: 0, + bind: { + value: '{rebalanceOnStart}', + }, + }, + { + xtype: 'displayfield', + userCls: 'pmx-hint', + value: gettext( + 'Rebalance on Start is currently a technology preview for the Static Load and Dynamic Load scheduling modes. It is not recommended for clusters with thousands of HA resources.', + ), + bind: { + hidden: '{rebalanceOnStartHintHidden}', + }, }, { xtype: 'proxmoxcheckbox', @@ -72,7 +88,7 @@ Ext.define('PVE.form.CRSOptions', { boxLabel: gettext('Automatically rebalance HA resources'), bind: { value: '{autoRebalancing}', - disabled: '{!canUseAutoRebalancing}', + disabled: '{!loadBasedScheduling}', }, }, { -- 2.47.3