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>
the memory stat is not available if the user has no audit privilges on
/nodes/NODENAME but the status is always available
also it makes simple more sense to check if it is online not only if the
memory value is there
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch implements disabling for the DiskStorageSelector, which
resets the storage and triggers a validity change
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we only show that a storage can store snippets, but for now
we do not allow to set or upload them via the gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This add a context menu to the entries of the global search field instead of
showing the browsers default one.
This allows to search and easily manage nodes, VMs and CTs similar to the
behaviour in the resource tree.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Switch the default mode 'MULTI' with 'SIMPLE', the same we use in the
dc/Backup guest selector. It allows to remove the 'checkOnly'
setting, which limited selection and deselection of elements on the
checkbox it self, doing nothing when clicking on rows.
Besides the friendlier and more streamlined UX this actually fixes a
bug in Firefox (confirmed in version 62, possible in other versions
too) where select/deselect di not worked when clicking in the white
area of the checkbox, but only when clicking on the surrounding
padding.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
adding LIO option and dedicated "LIO target portal group" input field to the
"Add: ZFS via iSCSI" dialog
Signed-Off-By: Udo Rader <udo.rader@bestsolution.at>
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>
As given in the subject this implements role create/update/delete over
the manager.
There's currently no coler highlightning for "special" roles.
Signed-off-by: René Jochum <r.jochum@proxmox.com>
this is a complete rework of the inputpanel (long overdue)
it uses a viewModel and viewcontroller to avoid the
multiple is zfs/root/bind checks and concentrate them
in one place
also some features get optimized (e.g. the noreplication checkbox)
adds a setNodename to the DiskStorageSelector so that we can bind
the nodename there
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>
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>
we want to change the maxIds value even when not rendered, since
in the wizard, the controller can change from a different panel in the
tabpanel
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Split PVE specific models, which where not moved to the general
widget toolkit, in a separate folder: data/models/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
widget name stayed the same, so no need to change
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
some function are now in Proxmox.Utils instead, so we have to use that
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
there we implemented deleteEmpty, which we can use in some cases.
this also fixes a bug in the ControllerSelector where
an empty field would be allowed (but should not)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
we had it previously on 8GB for containers, but with the refactoring,
this got lost. this patch changes this back
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this is a wrapper for selecting a storage/disk image
it is a simple container with 4 form fields inside
which can be reused, whenever we need to select a storage for a disk,
image etc.
we have code similar to this four times already
(qemu image creation, lxc mp creation, qemu cloning, qemu efidisk
creation)
so it was time to refactor this and use the storage information from the
backend instead of hardcoding values in the frontend
for this we need to pass the format=1 parameter to the storage api call,
and to not load the fileselector when it is initially disabled
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This property is only used for CDEdit, so we can deduce this from
the fact that autoselect is set to 'cdrom'
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The bus selector is displayed when we add a Hard Disk or CD Drive.
When it is displayed, we *always* preselect the next available
slot on the controller of our choice.
So this test is not needed.
We keep the test on the string value of 'autoselect' to select
a bus position when adding a CD Drive.
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this is a mixture of the multi select VMSelector and the single
select pveGuestIDSelector.
Useful when a single VM must be selected but also complementary
information should be shown to the user.
Most of the times the VMID is not really useful for an user as
numbers are harder to remember and to associate as names.
So a dialog which need a VMID (e.g. HA resource addition) forced the
user to lookup the Guest Name -> Guest VMID mapping and then enter it
correctly in the respective input field.
This can be improved by using a combo grid based selector which shows
additional information in the edit window itself, can be sorted and
filtered to quickly select a guest.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>