From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 90FD31FF0AA for ; Tue, 03 Nov 2026 13:51:56 +0100 (CET) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 9D73C21B63; Tue, 03 Nov 2026 13:49:56 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Subject: [PATCH manager v6 26/26] ui: migrate: add checkbox to allow skipping newly enforced config check Date: Tue, 3 Nov 2026 13:48:18 +0100 Message-ID: <20261103124831.139399-27-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261103124831.139399-1-f.ebner@proxmox.com> References: <20261103124831.139399-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: 1793710117719 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.304 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: W4QA5BPZNOPR7YJAD3F2AIEIW2OWDIS2 X-Message-ID-Hash: W4QA5BPZNOPR7YJAD3F2AIEIW2OWDIS2 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 v6. 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