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>
We show and can remove serial devices but couldn't add new ones
through the WebUI.
Add a simple component to allow adding serial ports backed by a
socket, which can be especially useful now with xterm.js
Passing through serial devices from /dev isn't possible with this, as
it is normally a root only operation and not that often used.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
It should use an asynchronous API call to create an image,
because some storages may need longer to alloc an image.
If a storage needs more than 30 sec
the proxy will timeout and we have an orphan image.
Also, it is possible to increase the timeout for some
storages if an asynchronous call is used
this is a major rework of the memory inputpanel
previously we had to select fixed/variable and
could set shares/ballooning, depending on what was selected
now the panel is much simpler:
non advanced:
memory: the target maximum memory
advanced:
min-memory: the minimum memory, if different from the memory field
we have 'dynamic' memory
shares, only if we have 'dynamic' memory
ballooning-device: better naming, deactivates the ballooning device
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
cloudinit images do not have an editor so return here
and value has to be a string to match
also set the remove button text correctly when selecting a cloudinit disk
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
make ProcessorEdit static and merge with CPUOptions
moves some fields in the advanced options
this also changes how we add the flag checkboxes,
which is static now, but if we want to add more, we have to
create a better way than add a checkbox for each flag anyway
also increases the cpulimit to 128 (as per api)
and fixes a small whitespace error
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
so that we can reuse it for containers
while we do this, we also have to adapt the SnapshotSelector
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this was missing from my original series
also enable deletion of the password field via remove button
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
let them use a one/two column layout depending on browser width
optimize stylings/padding values
get rid of the (now long) unecessary lazyitems plugin
(this was necessary for performance when we still used tabpanels instead
of our own configpanel with treelist)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a new component 'AgentIPView' which
uses the qemu-agent api call to tries to get the ip information for
the guests
only for vms at the moment, since for containers you already
set it on their network tab
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Use a ViewModel directly, instead of emulating its behaviour with a
ViewController.
The rest consists mostly of indentation changes, moving some
components directly inside their parent declaration.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
DisplayEdit did not get a cleanup during our ExtJS 4 to ExtJS 6
cleanup, in fact it was really touched in the last 5 years.
So refactor it to a declarative syntax, at least almost, we keep the
me.load in initComponent, just to much hassle to adress this for now.
Also purge DisplaySelector. It was a component inheriting from
KVComboBox with the possible VGA values as items only used here.
So just use a KVComboBox directly and set comboboxItems directly.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
when using the 'run_editor' function provided by the ObjectGrid,
we have to make sure the function runs in the context of the grid,
not in that of the button, else we cannot access the
selectionModel/rows/etc. of the grid
this happened with the switch to the widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>