On some occasions e.g. license checking, the manufacturer string in the
SMBIOS settings edit has to allow characters such as whitespaces.
https://forum.proxmox.com/threads/proxmox-and-windows-rok-license-for-dell.53236/
In principle SMBIOS allows to pass any zero terminated string to the
corresponding fields in the structure type 1 (System Information).
By base64 encoding the values clashing of the config is avoided.
Relies on the corresponding patch to qemu-server to pass parameter verification
and correct parsing.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
This allows to select the tri-state (enforce on, enforce off, default
from QEMU+CPU Model) for each CPU flag independently.
For this a grid with a widgetcolumn is used hosting tree radio
buttons for each state. They're marked '+' for enforce on, '-' for
enforce off and the default has no label, as it isn't easy to add in
such a way that it does not confuses people and does not looks
completely ugly.. But, to help people which have a hard time figuring
out what the states mean, a fake column was added showing the current
selected state's outcome in words.
For show casing the new nice interface add all currently supported
flags from out API-
It could be worth to add some selected CPU model awareness, so that
flags are only enabled if they can make sense with the selected
model. But one should be able to add this relative easily with this
as base.
The hardcoded flag lists is not ideal, we should try to generate this
in the future, but here already qemu-server is lacking and this is
rather independent of the fact and can be done later one just fine
too.
Note that this /is/ an *advanced* feature so not visible for all
directly, while I try to document in short what a flag does it surely
isn't perfect and to short to explain all nuances, they should give
enough pointers to know if it's relevant at all (amd / intel cpu) and
for what one should research
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 92572ead6d)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
value is not always a string (depending on the value that changed),
so we have to convert it to a string to have a 'match' function
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
A user which just has the default role PVEVMUser on a VM is able to
edit the CDROM, either to no media or if storage permissions are
available also to other ISOs, through the API. So reflect this again
for the WebUI. We could add a check for "VM.Config.CDROM", but that's
not really worth, if we keep in mind that the Ext.Caps state is
heuristically only.
fixes commit d35b5b2afb
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
it is guest hardware and not really an option, and we have it now
in the wizard, so it makes sense to have it here
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this is deprecated and should not be necessary anymore, since
qemu and novnc can handle this better if no keyboard layout is set
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
for this we have to adapt the scsiController logic slightly, so that
the ostype change sets the viewmodel, which in turn changes the
bound fields (one one the system tab, and the displayfield on the hd tab)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
contains the inputpanel for the coming system tab in the vm creation
wizard, where the user can configure the vm system hardware like
the scsi controller, display, etc.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we want to be able to use fontawesome icons directly instead of having
to use extracted png in css classes
this patch makes it possible to use 'iconCls' with the font-awesome icon name
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
We act correctly for an outside triggered suspend, but if the guest
suspends itself from inside (e.g., systemctl suspend,
`echo "standby" > /sys/power/state` or windows sleep) it has another
state (suspended vs. paused), so handled that also
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
this enables the gui part to enable the user to add a pci device
via the gui
we disable the button after 4 devices, since that is the maximum
in the backend
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch adds the PCIEdit window and InputPanel uses PCISelector
and MDevSelector
when we detect an iommugroup of -1, we put a warning on top to inform
the user that IOMMU is not activated (but let him add the devices
regardless, so that he can use it after IOMMU is activated)
also puts a warning if he selects a device that shares an iommugroup
with a different device (but not the same device with different
function). that detection is not perfect, but we cannot do really
better
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
We passed a 'disable' config to those menu items on creation, but
promptly ignored that after the first set_button_status call, which
only checked if it's possible to add another device, but not if our
capabilities heuristic is OK.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Even though QEMU supports the discard feature for both ATA [1] and
SCSI drives, the "Discard" checkbox in Proxmox VE is artificially
restricted to SCSI drives. This change expands availability of the
"Discard" checkbox to all drive types supported by QEMU, leaving
VirtIO Block as the only remaining exclusion.
Combined with the new "SSD emulation" option [2], enabling discard
on IDE/SATA drives allows reclaiming of free space on thin-provisioned
storage with guests that do not support our SCSI controllers.
[1] d353fb72f5
[2] https://git.proxmox.com/?p=pve-manager.git;a=commit;h=f9261fde2134cec35a5ec7c3ebbee5daa4d67ec7
Signed-off-by: Nick Chevsky <nchevsky@gmail.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
nocloud configuration does not support SLAAC option, only static or dhcp
so this option shouldn't be available
Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
e.g., pending deletion of cdrom/dvd drive showed as hard disk in
hardware tab
Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Change to agent now being a property_string, and including fstrim_cloned_disks.
Co-Authored-By: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
we updated the status from the status store too often, so that
if the guest agent was not running, the message would
change between 'no information' and 'not running'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
so that the user does not get the useless 'no information' or
'not running' message, but the real cause
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>