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 313A51FF09C for ; Mon, 19 Oct 2026 16:49:45 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id EFA9A218CB; Mon, 19 Oct 2026 16:47:34 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Subject: [PATCH manager v5 28/28] ui: migrate: add checkbox to allow skipping newly enforced config check Date: Mon, 19 Oct 2026 16:46:10 +0200 Message-ID: <20261019144629.215541-29-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261019144629.215541-1-f.ebner@proxmox.com> References: <20261019144629.215541-1-f.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792421195391 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.360 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_MED -2.3 Sender listed at https://www.dnswl.org/, medium 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: QUWP2A2RJ2HXLAYHW42CO6YAYKAERCXW X-Message-ID-Hash: QUWP2A2RJ2HXLAYHW42CO6YAYKAERCXW X-MailFrom: f.ebner@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: Since qemu-server and pve-container commits "migration: intra-cluster: check config can be parsed on target node", there is an early check that the target can successfully parse the guest configuration. There is an escape hatch to skip the check with the 'skip-config-check' parameter, to force migration regardless. Allow using the escape hatch from the UI too. Signed-off-by: Fiona Ebner --- Should depend on new pve-container, qemu-server and ha-manager so the node version checking makes sense. No changes in v5. www/manager6/window/Migrate.js | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/www/manager6/window/Migrate.js b/www/manager6/window/Migrate.js index 8cac54ea..6f48d131 100644 --- a/www/manager6/window/Migrate.js +++ b/www/manager6/window/Migrate.js @@ -31,6 +31,7 @@ Ext.define('PVE.window.Migrate', { hasLocalResources: false, withConntrackState: true, bothHaveDbusVmstate: false, + configCheck: true, }, }, formulas: { @@ -150,6 +151,10 @@ Ext.define('PVE.window.Migrate', { params['with-conntrack-state'] = 1; } + if (!vm.get('migration.configCheck')) { + params['skip-config-check'] = 1; + } + Proxmox.Utils.API2Request({ params: params, url: @@ -468,6 +473,13 @@ Ext.define('PVE.window.Migrate', { } } + if (!vm.get('migration.configCheck')) { + const text = gettext( + 'Without the config check, an outdated target node might drop configuration settings it cannot parse.', + ); + migration.preconditions.push({ text, severity: 'warning' }); + } + vm.set('migration', migration); }, checkLxcPreconditions: async function (resetMigrationPossible) { @@ -563,6 +575,13 @@ Ext.define('PVE.window.Migrate', { } } + if (!vm.get('migration.configCheck')) { + const text = gettext( + 'Without the config check, an outdated target node might ignore configuration settings it cannot parse.', + ); + migration.preconditions.push({ text, severity: 'warning' }); + } + vm.set('migration', migration); }, }, @@ -602,6 +621,26 @@ Ext.define('PVE.window.Migrate', { value: '{setMigrationMode}', }, }, + { + xtype: 'proxmoxcheckbox', + name: 'configCheck', + fieldLabel: gettext('Config Check'), + autoEl: { + tag: 'div', + 'data-qtip': gettext( + 'Check that the target node can parse the guest configuration.', + ), + }, + bind: { + value: '{migration.configCheck}', + }, + listeners: { + change: { + fn: 'checkMigratePreconditions', + extraArg: true, + }, + }, + }, ], }, { -- 2.47.3