[pve-devel] [PATCH v2 pve-manager 2/2] ui: qemu : memoryedit: add new max && virtio fields

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Sep 1 11:48:51 CEST 2023


Am 19/06/2023 um 09:28 schrieb Alexandre Derumier:
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---
>  www/manager6/qemu/MemoryEdit.js | 52 +++++++++++++++++++++++++++------
>  1 file changed, 43 insertions(+), 9 deletions(-)
> 
> diff --git a/www/manager6/qemu/MemoryEdit.js b/www/manager6/qemu/MemoryEdit.js
> index 5e91dc9b..be7903a2 100644
> --- a/www/manager6/qemu/MemoryEdit.js
> +++ b/www/manager6/qemu/MemoryEdit.js

> @@ -63,7 +73,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
>  		xtype: 'pveMemoryField',
>  		labelWidth: labelWidth,
>  		fieldLabel: gettext('Memory') + ' (MiB)',
> -		name: 'memory',
> +		name: 'current',
>  		value: '512', // better defaults get set via the view controllers afterrender
>  		minValue: 1,
>  		step: 32,
> @@ -96,12 +106,25 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
>  		allowBlank: false,
>  		listeners: {
>  		    change: function(f, value) {
> -			var memory = me.down('field[name=memory]').getValue();
> +			var memory = me.down('field[name=current]').getValue();
>  			var shares = me.down('field[name=shares]');
>  			shares.setDisabled(value === memory);
>  		    },
>  		},
>  	    },
> +	    {
> +		xtype: 'pveMemoryField',
> +		name: 'max',
> +		minValue: 65536,
> +		maxValue: 4194304,
> +		value: '',
> +		step: 65536,
> +		fieldLabel: gettext('Maximum memory') + ' (MiB)',

This huge step size will be confusing to users, there should be a way to have
smaller steps (e.g., 1 GiB or even 128 MiB).

As even nowadays, with a huge amount of installed memory on a lot of servers,
deciding that a (potentially bad actor) VM can use up 64G or 128G is still
quite the difference on a lot of setups. Fiona is checking the backend here
to see if it might be done with a finer granularity, or what other options
we have here.

> +		labelWidth: labelWidth,
> +		allowBlank: true,
> +		emptyText: gettext('Disabled'),
> +		submitEmptyText: false,

I'd maybe show a warning if the guest has Memory hotplug disabled completely

Also would be great if we could check validity with other fields, i.e., if 

> +	    },
>  	    {
>  		xtype: 'proxmoxintegerfield',
>  		name: 'shares',
> @@ -132,6 +155,13 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
>  		    },
>  		},
>  	    },
> +	    {
> +		xtype: 'proxmoxcheckbox',
> +		labelWidth: labelWidth,
> +		name: 'virtio',
> +		defaultValue: 0,
> +		fieldLabel: gettext('Virtiomem'),
> +	    },

Can we change this to a radio field group with label "Hotplug Type" and options
"VirtIO-Mem" and "Static DIMMs" (or some wording like that) and show a warning if
the OS type isn't Linux (i.e., "l26").

As while there are some experimental patches for Windows [0], they are not
included in the VirtIO drivers and development seems to have stalled a bit.

[0]: https://github.com/virtio-win/kvm-guest-drivers-windows/pull/794





More information about the pve-devel mailing list