Since some languages translate byte units like 'GiB' or write them in their
own script, this patch wraps units in the `gettext` function.
While most occurrences of byte strings can be translated within the
`format_size` function in `proxmox-widget-toolkit/src/Utils.js`, this patch
catches those instances that are not translated.
Signed-off-by: Noel Ullreich <n.ullreich@proxmox.com>
qemu/HardwareView:
with the new Hardware privileges, we want to adapt a few places where
we now allow to show the add/edit window with those permissions.
form/{PCI,USB}Selector:
increase the minHeight property of the PCI/USBSelector, so that
the user can see the error message if he has not enough permissions.
data/PermPathStore:
add '/hardware' to the list of acl paths
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
reworks the panel to use a controller, so that we can easily
add the selector for mapped pci devices
shows now a selection between 'raw' and 'mapped' devices, where
'raw' ones work like before, and 'mapped' ones take the values
form the hardware map config
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the cloudinit options except for ipconfig are all modifiable with just
"VM.Config.Cloudinit".
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The current VM.Console cap is wrong.
Only log panel needs VM.Console, the other ones only need VM.Audit.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
[ D: rewrite commit message a bit ]
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
To have a IOThread on by default in the wizard and on disk add, we
added a 'bind' for the value here. This also changes the value for
existing VM disks, and if one does not notice, modifies it away again
(since we don't have the controller here and isSCSISingle is false)
Simply don't bind value when we edit a VM disk from config
Note that this is only an issue in Chromium based browsers.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
commit c8f2cf4c1a broke the preselected
Model by setting it to ''. The GUI displays/selects an empty field
as default.
Fixes: c8f2cf4c ("ui: vm network: allow to override MTU for virtio devices")
Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
and update the treenodes when the tags change.
since we change the vm node text (which we pass through to the config
panel), we have to change how we generate the text there slightly
(otherwise that would include the rendered tags)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Switch to the `proxmoxtextfield` widget and enable its `deleteEmpty`
option, which gives us that all for free and better.
Fix label/emptyText to title casing while at it.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
that then also ensures it isn't submitted, which would fail
permission checks for non-root users when editing the vCPU.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Checking for only Sys.Console prevents users who actually have the
correct permissions (VM.Config.CDROM, VM.Config.Cloudinit) from adding
a new cloud-init drive. Some checks needed to be adapted so that editing
cloud-init devices was possible with VM.Config.CDROM instead of
VM.Config.Disk.
Signed-off-by: Leo Nunner <l.nunner@proxmox.com>
The kvm man page mentions that using 'c' will try booting from the
first hard disk, so the current '(no bootdisk)' text in the UI is not
accurate, and boot can still succeed.
Reported in the community forum:
https://forum.proxmox.com/threads/115800/
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
instead of saving maximum 500 lines, count commands + lines, and only
if both are over the limit, truncate the command list
this way, at least the last 10 commands + output are always visible, and
no visible output is truncated, while still not letting the log
grow infinitely
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we already have the 'mtu' option in the API, so we can just expose
that option inside the 'Advanced' menu for virtio network interfaces.
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Moved the message tooltip below the advanced columns to avoid the line
break and make it more visually pleasing.
Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
so that the default value and limits actually correspond to what will
be used. Defaults to values for cgroup v2, because that is the more
common scenario.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
in the backend, we allow up to 14 usb ports, but only if the vm can
use the qemu-xhci controller which is only possible since machine
version 7.1 and if the ostype is l26 or windows > 7
for this we introduce two helpers:
* qemu_min_version: modeled after the signature of 'min_version' from
qemu-server, expects two arrays of versions and returns true if
the first parameter is equal or greater than the second version
* get_max_usb_count looks at the given ostype and machine string
and returns the proper maximum number
since we don't currently have the actual running version of the vm in
the gui, this is only a heuristic for running vms. but since the actual
running version could only be lower if none is set (e.g. for
migrated/long-running vms) we allow more in the gui and the backend will
do the proper thing (either hotplug it, or make it a pending change)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Existing disks are not changed by this.
Especially in benchmarks, iothreads significantly improve IO performance.
Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
This makes it slightly clearer that it's a default value (not being
written to the config explicitly). It's also in preparation to bind
the default based on the cgroup version, where it's a bit nicer to
bind the emptyText instead of the value (or a user set value would be
overwritten when the binding updates).
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
For lxc, commit 53395db1 ("lxc/ResoureEdit: move some cpu fields to
advanced options") made the fields available in the create wizard, so
the comment is also wrong.
Both wizards do a 'delete kv.delete' in their onSubmit() function, so
it didn't actually matter in practice.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Worked before because we always set the correct one manually in the
view controllers init and scsi-controller change handler.
Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
[ T: added actual subject and reworded commit message ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Double negated properties make it harder than necessary to parse
conditions.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
For the new HDReassign component, we follow the approach of HDMove to
have one componend for qemu and lxc.
To avoid button clutter, a new "Disk/Volume action" button is
introduced. It holds the Move, Reassign and Resize buttons in a
sub-menu.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
Allow the range for the old CGroup V1 one, as while deprecated,
that's still supported and a includes the range for v2 anyway.
With a next major release we may drop v1 support completely, probably
in PVE 8.0, then we can reduce this to the range of [1, 1000] that v2
supports.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We do not use 'Set XYZ' anywhere else and it should be clear enough
from the PCI selector in the non-advanced section that the actual
device to get passed-through is chosen else where, but we still can
use the emptyText to avoid confusion where the (sub) vendor/id will
come from if a field is left empty.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this is a historical left over from the time when the bandwidth
limits weren't in their own, separate tab, as there we got quite
long labels and we synced the width up for the remaining fields to
avoid that it looks to much off.
Luckily not required anymore, so just drop it for non BW fields.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
would technically require a versioned dependency bump to widget
toolkit as the `clearOnDisable` flag is new in 3.4-2, but this is
really only for slight UX improvement, so avoid the hard dependency
bump..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
drop only partially used intermediate value, use template strings,
reduce line bloat while trying to keep it readable.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
uses the MultiDiskPanel as base and implements the necessary
functions/variables
this allows now to create a vm also without any disk
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Lorenz Stechauner <l.stechauner@proxmox.com>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
So that they are more visually seperated from the rest of the options.
Use the same style as in the realm sync panel.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Windows 11 requires a TPM and secure boot, so try to auto-enable both.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
and reorder the panel a bit, as otherwise I found it *very* cluttered.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
Inspired by HDEfi for efidisks. Extends the DiskStorageSelector to allow
hiding the format, since tpmstate can only be stored in 'raw' format
(even on directory storages).
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
we will have multiple panels with the same widget. Instead
of raising an error in that case, simply ignore it, since
we normally only want to set the default initially, not when
users configured something else
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
for that we have to nest the now two tabs in a tabpanel into an inputpanel.
to prevent the options to be collected twice, we override the
'getValues' function of the 'sub-inputpanels' to return an empty object.
(we could make that an option for the inputpanel, but not necessary for
now)
also we have to move the 'bodyPadding' of the wizard to the 'defaults'
so we can override it for specific panels
and we have to manually set the width of the edit window since it
believes we only have a single column ('twoColumns' could also be an
option of the edit window should we need that again)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
link the user directly to the vm config section of the pci
passthrough docs, since that is whats happening on that panel.
It still is on the same page as the whole passthrough docs, so
the remaining info is still there.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
while the command itself is 'suspend', the task description
is 'qmpause', so simply add a parameter and overwrite it for the pause
menu item
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
could be also a generator (higher order fn), but it's easier to
grasp the scope and the like this way
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Function syntax, raw words, string templates, no prototype builtins
Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We enable/disable spice/xtermjs for the console button in the 'load'
callback of the statusstore, depending on the vms capabilities,
but until the first load there, the only safe option is novnc.
So we have to disable xtermjs and spice on start, else a click on
the button might open a window that cannot connect to the vm.
a forum user probably triggered this:
https://forum.proxmox.com/threads/unable-to-find-serial-interface-console-problem.87705
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Now that SLAAC is supported, we can revert commit 793f2cf4.
SLAAC requires cloud-init 19.4 or newer.
Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>