in the wizard, we already choose 'x86-64-v2-AES' by default for new vms, but the backend default (kvm64) is very easy to select by emptying the field.
Since that default is actually discouraged (but can't be changed as backend default easily), use the wizard default as default for all occurrences of the cpu model selector (making it much harder to accidentally select 'kvm64'). While at it, document the 'default' cpu types in Utils, and use it to set the correct emptyText for earch architecture. Signed-off-by: Dominik Csapak <[email protected]> --- www/manager6/form/CPUModelSelector.js | 26 ++++++++++++++++++++++++++ www/manager6/qemu/OSDefaults.js | 1 - www/manager6/qemu/ProcessorEdit.js | 13 ++++++++++++- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/www/manager6/form/CPUModelSelector.js b/www/manager6/form/CPUModelSelector.js index 602706e7..a55d473e 100644 --- a/www/manager6/form/CPUModelSelector.js +++ b/www/manager6/form/CPUModelSelector.js @@ -20,6 +20,28 @@ Ext.define('PVE.form.CPUModelSelector', { deleteEmpty: true, + getSubmitData: function () { + let me = this, + data = null, + val; + if (!me.disabled && me.submitValue) { + val = me.getSubmitValue(); + if (val !== null && val !== '' && val !== undefined) { + data = {}; + data[me.getName()] = val; + } else if (me.getDeleteEmpty()) { + data = {}; + // special case to change gui default for x86 + if (me.arch === 'x86_64') { + data[me.getName()] = PVE.qemu.Architecture.defaultProcessorModel.x86_64; + } else { + data.delete = me.getName(); + } + } + } + return data; + }, + listConfig: { columns: [ { @@ -51,6 +73,10 @@ Ext.define('PVE.form.CPUModelSelector', { } me.store.getProxy().setExtraParams(params); me.store.reload(); + + let defaultCPU = PVE.qemu.Architecture.defaultProcessorModel[arch] ?? 'kvm64'; + + me.setEmptyText(`${Proxmox.Utils.defaultText} (${defaultCPU})`); }, store: { diff --git a/www/manager6/qemu/OSDefaults.js b/www/manager6/qemu/OSDefaults.js index a2c218df..bd652e2f 100644 --- a/www/manager6/qemu/OSDefaults.js +++ b/www/manager6/qemu/OSDefaults.js @@ -52,7 +52,6 @@ Ext.define('PVE.qemu.OSDefaults', { virtio: 1, }, scsihw: 'virtio-scsi-single', - cputype: 'x86-64-v2-AES', }, aarch64: { diff --git a/www/manager6/qemu/ProcessorEdit.js b/www/manager6/qemu/ProcessorEdit.js index e1383c3f..52b8074c 100644 --- a/www/manager6/qemu/ProcessorEdit.js +++ b/www/manager6/qemu/ProcessorEdit.js @@ -305,8 +305,19 @@ Ext.define('PVE.qemu.ProcessorEdit', { vm.set('showCustomModelPermWarning', true); } } - me.setValues(data); let arch = PVE.qemu.Architecture.getNodeArchitecture(data.arch, me.nodename); + // change default cputype for x86 in gui only + if (arch === 'x86_64') { + if (!data.cputype) { + // use our backend default as explicit value + data.cputype = 'kvm64'; + } else if ( + data.cputype === PVE.qemu.Architecture.defaultProcessorModel.x86_64 + ) { + delete data.cputype; + } + } + me.setValues(data); ipanel.setArch(arch); }, }); -- 2.47.3
