[pve-devel] [PATCH pve-manager v3 5/6] fix #4225: ui: qemu: cdedit: enable 'Essential' checkbox for isos

Daniel Herzig d.herzig at proxmox.com
Thu Jan 30 12:31:20 CET 2025


Enables the 'Essential' checkbox for the IsoSelector.

If the parameter `essential` is not set in the configuration,
it will be assumed to be true, to avoid breaking changes.

The box is checked by default for the same reason.

If unchecked, `essential=0` is written to the configuration and the VM
will attempt to start, even if the file or underlying storage is not
available (by temporarily setting the value to 'none,media=cdrom').

Signed-off-by: Daniel Herzig <d.herzig at proxmox.com>
---
 www/manager6/qemu/CDEdit.js | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/www/manager6/qemu/CDEdit.js b/www/manager6/qemu/CDEdit.js
index 3cc16205..b115debc 100644
--- a/www/manager6/qemu/CDEdit.js
+++ b/www/manager6/qemu/CDEdit.js
@@ -12,6 +12,7 @@ Ext.define('PVE.qemu.CDInputPanel', {
 	me.drive.media = 'cdrom';
 	if (values.mediaType === 'iso') {
 	    me.drive.file = values.cdimage;
+	    me.drive.essential = values.essential ? undefined : '0';
 	} else if (values.mediaType === 'cdrom') {
 	    me.drive.file = 'cdrom';
 	} else {
@@ -44,6 +45,11 @@ Ext.define('PVE.qemu.CDInputPanel', {
 	} else {
 	    values.mediaType = 'iso';
 	    values.cdimage = drive.file;
+	    if (drive.essential === '1' || drive.essential === undefined) {
+		values.essential = '1';
+	    } else {
+		values.essential = '0';
+	    }
 	}
 
 	me.drive = drive;
@@ -88,6 +94,7 @@ Ext.define('PVE.qemu.CDInputPanel', {
 			cdImageField.validate();
 		    } else {
 			cdImageField.reset();
+			delete me.drive.essential;
 		    }
 		},
 	    },
@@ -98,6 +105,7 @@ Ext.define('PVE.qemu.CDInputPanel', {
 	    nodename: me.nodename,
 	    insideWizard: me.insideWizard,
 	    name: 'cdimage',
+	    showRequired: true,
 	});
 
 	items.push(me.isosel);
-- 
2.39.5




More information about the pve-devel mailing list