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 110DE1FF0BC for ; Thu, 15 Oct 2026 14:54:39 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 77C8C2186A; Thu, 15 Oct 2026 14:52:31 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Subject: [PATCH manager v4 27/27] ui: migrate: add checkbox to allow skipping newly enforced config check Date: Thu, 15 Oct 2026 14:51:01 +0200 Message-ID: <20261015125112.174954-28-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261015125112.174954-1-f.ebner@proxmox.com> References: <20261015125112.174954-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: 1792068678011 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.398 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: FJFI2GFIHBTA22NVFDADKOGHSRN7TDOZ X-Message-ID-Hash: FJFI2GFIHBTA22NVFDADKOGHSRN7TDOZ 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. New in v4. 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