]> git.proxmox.com Git - pve-manager.git/log
pve-manager.git
18 months agoui: add form/Tag
Dominik Csapak [Wed, 16 Nov 2022 15:48:10 +0000 (16:48 +0100)]
ui: add form/Tag

displays a single tag, with the ability to edit inline on click (when
the mode is set to editable). This brings up a list of globally available tags
for simple selection.

this is a basic ext component, with 'i' tags for the icons (handle and
add/remove button) and a span (for the tag text)

shows the tag by default, and if put in editable mode, makes the
span editable. when actually starting the edit, shows a picker
with available tags to select from

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: dc/OptionView: add editors for tag settings
Dominik Csapak [Wed, 16 Nov 2022 15:48:09 +0000 (16:48 +0100)]
ui: dc/OptionView: add editors for tag settings

namely for 'tag-tree-style' and 'tag-colors'.
display the tag overrides directly as they will appear as tags

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: add PVE.form.ListField
Dominik Csapak [Wed, 16 Nov 2022 15:48:08 +0000 (16:48 +0100)]
ui: add PVE.form.ListField

a field which contains just a list of textfields, e.g. useful for a list
of simple tags

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: add grid form for mapping tags to foreground/background colors
Dominik Csapak [Wed, 16 Nov 2022 15:48:07 +0000 (16:48 +0100)]
ui: add grid form for mapping tags to foreground/background colors

This provides a basic grid to edit a list of tag color overrides.
We'll use this for editing the datacenter.cfg overrides and the
browser storage overrides.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: parse and save tag infos from /cluster/options
Dominik Csapak [Wed, 16 Nov 2022 15:48:06 +0000 (16:48 +0100)]
ui: parse and save tag infos from /cluster/options

stores the color-map into a global list of overrides. on update, also parse
the values from the browser localstore. Also emits a GlobalEvent
'loadedUiOptions' so that e.g. the tags can listen to that and refresh their
colors

also saves the list of 'allowed-tags' into PVE.Utils

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: save ui options from /cluster/options instead of version
Dominik Csapak [Wed, 16 Nov 2022 15:48:05 +0000 (16:48 +0100)]
ui: save ui options from /cluster/options instead of version

/cluster/options is now the go to place for getting these options
(until we have more options unrelated to the datacenter.cfg)

Also move the use of the console from VersionInfo to here, since
this will be the future place for ui related backend options.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoapi: open up /cluster/options call over injecting info into /version
Dominik Csapak [Wed, 16 Nov 2022 15:48:04 +0000 (16:48 +0100)]
api: open up /cluster/options call over injecting info into /version

To avoid returning unrelated information in the /version api call in
the future use the API endpoint that'd return the relevant
information basically anyway.

It contains most ui relevant options, like the console preference and
tag-style so allow these for users without 'Sys.Audit' on '/', for
others its unchanged, they still get the whole datacenter config.

We also add the list of allowed tags, while not strictly a datacenter
config, it's derived from the current users privileges and the
datacenter config.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapi: /cluster/resources: add tags to returned properties
Dominik Csapak [Wed, 16 Nov 2022 15:48:03 +0000 (16:48 +0100)]
api: /cluster/resources: add tags to returned properties

by querying 'lock' and 'tags' with 'get_guest_config_properties'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: qemu hardware: avoid manual deletion handling for vCPU affinity
Thomas Lamprecht [Thu, 17 Nov 2022 10:55:19 +0000 (11:55 +0100)]
ui: qemu hardware: avoid manual deletion handling for vCPU affinity

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>
18 months agoui: qemu hardware: only enable affinity form field for root@pam
Thomas Lamprecht [Thu, 17 Nov 2022 10:53:55 +0000 (11:53 +0100)]
ui: qemu hardware: only enable affinity form field for root@pam

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>
18 months agoui: qemu hardware: fix eslint error
Thomas Lamprecht [Thu, 17 Nov 2022 09:38:05 +0000 (10:38 +0100)]
ui: qemu hardware: fix eslint error

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoui: qemu: network: increase max queues to 64
Alexandre Derumier [Wed, 16 Nov 2022 04:13:48 +0000 (05:13 +0100)]
ui: qemu: network: increase max queues to 64

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
 [T: 128 -> 64, see qemu-server commit]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoui: cloudinit: disable remove button without VM.Config.Cloudinit
Dominik Csapak [Thu, 17 Nov 2022 07:55:35 +0000 (08:55 +0100)]
ui: cloudinit: disable remove button without VM.Config.Cloudinit

since it also needs both VM.Config.CDROM and VM.Config.Cloudinit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agofix #4321: properly check cloud-init drive permissions
Leo Nunner [Wed, 16 Nov 2022 17:34:28 +0000 (18:34 +0100)]
fix #4321: properly check cloud-init drive permissions

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>
18 months agoui: qemu: options: use 'first disk' for legacy 'c' boot setting
Fiona Ebner [Wed, 28 Sep 2022 07:54:52 +0000 (09:54 +0200)]
ui: qemu: options: use 'first disk' for legacy 'c' boot setting

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>
18 months agoui: only allow rbd pools to be added as rbd storage
Stefan Sterz [Tue, 25 Oct 2022 08:10:46 +0000 (10:10 +0200)]
ui: only allow rbd pools to be added as rbd storage

previously the ui would allow adding all pools (even the default
ceph-mon pools) as storage. this could lead to issues when users did
use these pools as storage (e.g.: vms missing their disks after a
migration). hence, restrict the pool selector to rbd pools.

fails gracefully by reverting to the previous behavior if a pool has
no application assigned to it.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
Tested-By:  Aaron Lauterer <a.lauterer@proxmox.com>
18 months agoapi: ceph: add applications of each pool to the lspools endpoint
Stefan Sterz [Tue, 25 Oct 2022 08:10:45 +0000 (10:10 +0200)]
api: ceph: add applications of each pool to the lspools endpoint

since ceph luminous (ceph 12) pools need to be associated with at
least one applicaton. expose this information here too so that clients
of this endpoint can use it.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
Tested-By:  Aaron Lauterer <a.lauterer@proxmox.com>
18 months agoui: qemu monitor: rework comment about how (starting) trimming works
Thomas Lamprecht [Wed, 16 Nov 2022 19:22:05 +0000 (20:22 +0100)]
ui: qemu monitor: rework comment about how (starting) trimming works

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agofix #4318: ui: qemu/Monitor: rework output retention mechanism
Dominik Csapak [Wed, 2 Nov 2022 11:28:37 +0000 (12:28 +0100)]
fix #4318: ui: qemu/Monitor: rework output retention mechanism

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>
18 months agoui: LXC template upload: allow zstd compressed (.tar.zst) images
Matthias Heiserer [Wed, 2 Nov 2022 15:16:41 +0000 (16:16 +0100)]
ui: LXC template upload: allow zstd compressed (.tar.zst) images

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agogui: move rate limit field to advanced section
Daniel Tschlatscher [Thu, 3 Nov 2022 15:38:09 +0000 (16:38 +0100)]
gui: move rate limit field to advanced section

The new MTU field and the rate limit field are now in the advanced
section of the NetworkInputPanel to parallel the layout of the
NetworkEdit for VMs.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Reviewed-by:  Stefan Hanreich <s.hanreich@proxmox.com>
Tested-by:  Stefan Hanreich <s.hanreich@proxmox.com>
18 months agofix #3719: gui: expose LXC MTU option in web UI
Daniel Tschlatscher [Thu, 3 Nov 2022 15:38:08 +0000 (16:38 +0100)]
fix #3719: gui: expose LXC MTU option in web UI

The option to set the mtu parameter for lxc containers already exists
in the backend. It just has to be exposed in the web UI as well.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Reviewed-by:  Stefan Hanreich <s.hanreich@proxmox.com>
Tested-by:  Stefan Hanreich <s.hanreich@proxmox.com>
18 months agoui: vm network: allow to override MTU for virtio devices
Oguz Bektas [Wed, 9 Nov 2022 15:37:09 +0000 (16:37 +0100)]
ui: vm network: allow to override MTU for virtio devices

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>
18 months agobump version to 7.2-13
Thomas Lamprecht [Wed, 16 Nov 2022 17:33:33 +0000 (18:33 +0100)]
bump version to 7.2-13

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agod/control: bump qemu-server dependency to 7.2-8
Thomas Lamprecht [Wed, 16 Nov 2022 11:42:04 +0000 (12:42 +0100)]
d/control: bump qemu-server dependency to 7.2-8

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agovzdump: send mail if job-abort hook fails
Fiona Ebner [Wed, 16 Nov 2022 08:30:14 +0000 (09:30 +0100)]
vzdump: send mail if job-abort hook fails

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agofix #4351: vzdump: send mail if job-end hook fails with mailnotification=failure
Fiona Ebner [Wed, 16 Nov 2022 08:30:13 +0000 (09:30 +0100)]
fix #4351: vzdump: send mail if job-end hook fails with mailnotification=failure

Since all tasks succeeded, previously no mail was sent in that case.

Note that the error passed to $self->sendmail() is added to the
subject of the mail if it is a single line or the beginning of the
mail otherwise. Thus changing the mail slightly compared to previously
for the case where the job-start hook fails and the case where the
job-end hook fails with mailnotification=always. But can be considered
an improvement, because the user sees the error right away.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agoui: backup job edit: fix form reset tracking
Dominik Csapak [Tue, 15 Nov 2022 13:23:12 +0000 (14:23 +0100)]
ui: backup job edit: fix form reset tracking

When the mode changes, we set the pool selector visible/hidden, but
we never disabled/enabled it. This tripped up the dirty state of the
form always showing the reset button as enabled.

Properly enabling and disabling the pool field fixes the dirty state
tracking.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: lxc/qemu: cpu edit: make cpuunits depend on node's cgroup version
Fiona Ebner [Thu, 10 Nov 2022 14:37:47 +0000 (15:37 +0100)]
ui: lxc/qemu: cpu edit: make cpuunits depend on node's cgroup version

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>
18 months agocluster resources: add cgroup-mode to node properties
Fiona Ebner [Thu, 10 Nov 2022 14:37:46 +0000 (15:37 +0100)]
cluster resources: add cgroup-mode to node properties

so the frontend has the information readily available.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agopvestatd: broadcast static node information
Fiona Ebner [Thu, 10 Nov 2022 14:37:45 +0000 (15:37 +0100)]
pvestatd: broadcast static node information

Planned to be used for static resource scheduling in the HA manager.

It's enough to broadcast the values whenever they are outdated or not
set in the node's local kv store, because pmxcfs will re-broadcast the
local kv store whenever the quorate partition changes. This is already
relied upon for the 'ceph-versions' kv pair.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agoapi: backup info: make "name" property truly optional in response struct
Thomas Lamprecht [Tue, 15 Nov 2022 13:07:09 +0000 (14:07 +0100)]
api: backup info: make "name" property truly optional in response struct

avoid returning a nullish/undef value if not specified

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapi: backup info: code/style cleanup/rework/modernization
Thomas Lamprecht [Tue, 15 Nov 2022 13:06:42 +0000 (14:06 +0100)]
api: backup info: code/style cleanup/rework/modernization

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapi: backup info: drop querying rrd_dump, not used
Thomas Lamprecht [Tue, 15 Nov 2022 13:05:57 +0000 (14:05 +0100)]
api: backup info: drop querying rrd_dump, not used

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapi: backup info: rework get_included_vmids code style
Thomas Lamprecht [Tue, 15 Nov 2022 13:04:29 +0000 (14:04 +0100)]
api: backup info: rework get_included_vmids code style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapi vzdump: split/sort module usage
Thomas Lamprecht [Tue, 15 Nov 2022 12:48:51 +0000 (13:48 +0100)]
api vzdump: split/sort module usage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapi: vzdump: also check for default storage permission
Fiona Ebner [Tue, 15 Nov 2022 12:33:05 +0000 (13:33 +0100)]
api: vzdump: also check for default storage permission

Acked-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agoapi: backup: auto-inject job id where expected by the API
Fiona Ebner [Tue, 15 Nov 2022 10:18:29 +0000 (11:18 +0100)]
api: backup: auto-inject job id where expected by the API

for backwards compatibility. Otherwise, e.g. listing backup jobs with
pvesh get /cluster/backup is broken. And suddenly not having the
property anymore would be a breaking API change.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agod/control: bump versioned dependency to pve-doc-generator
Thomas Lamprecht [Mon, 14 Nov 2022 19:35:26 +0000 (20:35 +0100)]
d/control: bump versioned dependency to pve-doc-generator

ensuring that the onlineHelp reference parser is new enough to not
choke on widget-toolkit.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agofix #4328: ui: add widget toolkit to dependencies of OnlineHelpInfo.js
Stefan Sterz [Mon, 14 Nov 2022 11:38:28 +0000 (12:38 +0100)]
fix #4328: ui: add widget toolkit to dependencies of OnlineHelpInfo.js

previously the widget toolkit was not scanned when creating the
mapping between `onlineHelp` keys and pve-doc anchors. this could
lead to cases where help buttons didn't work because the necessary
mapping wasn't present in `OnlineHelpInfo.js`.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
18 months agobump version to 7.2-12
Thomas Lamprecht [Sat, 12 Nov 2022 16:03:20 +0000 (17:03 +0100)]
bump version to 7.2-12

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agojob manager: run cfs_update before starting a job
Thomas Lamprecht [Sun, 13 Nov 2022 14:57:24 +0000 (15:57 +0100)]
job manager: run cfs_update before starting a job

we may want to even do this only once, before the loop, but for now
this is basically the same as it was previously but avoids the need
for every (future) plugin to do this manually; which is just the
wrong place.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agod/control: bump versioned dependencies for pve-common & pve-guest-common
Thomas Lamprecht [Sat, 12 Nov 2022 15:57:51 +0000 (16:57 +0100)]
d/control: bump versioned dependencies for pve-common & pve-guest-common

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agojobs: move base registry to pve-common & split vzdump base out to guest-common
Thomas Lamprecht [Sat, 12 Nov 2022 15:56:23 +0000 (16:56 +0100)]
jobs: move base registry to pve-common & split vzdump base out to guest-common

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoupdate shipped aplinfo
Thomas Lamprecht [Fri, 11 Nov 2022 16:37:33 +0000 (17:37 +0100)]
update shipped aplinfo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoui: qemu: increase available usb ports depending on machine and ostype
Dominik Csapak [Thu, 10 Nov 2022 14:36:00 +0000 (15:36 +0100)]
ui: qemu: increase available usb ports depending on machine and ostype

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>
18 months agoui: USBInputPanel: use correct maximum usb index
Dominik Csapak [Thu, 10 Nov 2022 14:35:59 +0000 (15:35 +0100)]
ui: USBInputPanel: use correct maximum usb index

We already have that factored out in PVE.Utils, so use that.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agod/control: drop ${shlibs:Depends} for pve-manager
Fiona Ebner [Fri, 21 Oct 2022 13:02:52 +0000 (15:02 +0200)]
d/control: drop ${shlibs:Depends} for pve-manager

Now that the pvemailforward binary was dropped, there is a lintian
warning that it's not defined anymore.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agoremove pvemailforward binary
Fiona Ebner [Fri, 21 Oct 2022 13:02:51 +0000 (15:02 +0200)]
remove pvemailforward binary

which was replaced by proxmox-mail-forward living in its own package.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agod/postinst: replace pvemailforward with proxmox-mail-forward
Fiona Ebner [Fri, 21 Oct 2022 13:02:50 +0000 (15:02 +0200)]
d/postinst: replace pvemailforward with proxmox-mail-forward

proxmox-mail-forward is a new helper binary in Rust intended to behave
essentially the same on PVE installations. It can also handle mixed
PBS+PVE installations.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agod/control: depend on proxmox-mail-forward
Fiona Ebner [Fri, 21 Oct 2022 13:02:49 +0000 (15:02 +0200)]
d/control: depend on proxmox-mail-forward

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agoMerge branch 'taskset' into taskset-merged
Wolfgang Bumiller [Thu, 10 Nov 2022 08:43:32 +0000 (09:43 +0100)]
Merge branch 'taskset' into taskset-merged

18 months agofix #3593: add js input for affinity
Daniel Bowder [Fri, 1 Jul 2022 00:09:48 +0000 (17:09 -0700)]
fix #3593: add js input for affinity

Adds a textfield for the affinity value. Delete that affinity value
when the textbox is empty.

Signed-off-by: Daniel Bowder <daniel@bowdernet.com>
18 months agoapl info: update index to current repository state
Thomas Lamprecht [Wed, 9 Nov 2022 16:57:16 +0000 (17:57 +0100)]
apl info: update index to current repository state

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoapl info: update index to current repository state
Thomas Lamprecht [Wed, 9 Nov 2022 16:19:43 +0000 (17:19 +0100)]
apl info: update index to current repository state

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agoGUI: OS defaults: use SCSI single as default controller
Matthias Heiserer [Mon, 13 Jun 2022 13:54:23 +0000 (15:54 +0200)]
GUI: OS defaults: use SCSI single as default controller

Existing installs are not changed by this.

Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
18 months agoGUI: HDEdit: check iothread by default and move it from advanced section
Matthias Heiserer [Mon, 13 Jun 2022 13:54:22 +0000 (15:54 +0200)]
GUI: HDEdit: check iothread by default and move it from advanced section

Existing disks are not changed by this.
Especially in benchmarks, iothreads significantly improve IO performance.

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
18 months agoui: add javascript source to `OnlineHelpInfo.js` prerequisites
Stefan Sterz [Tue, 8 Nov 2022 15:01:30 +0000 (16:01 +0100)]
ui: add javascript source to `OnlineHelpInfo.js` prerequisites

by adding the javascript files as prerequisites, the
`OnlineHelpInfo.js` will get re-generated if a new `onlineHelp` key
is used. thus, this avoids an issue were valid keys might not get
mapped correctly because the info in `OnlineHelpInfo.js` wasn't
updated.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
18 months agoui: lxc/qemu: cpu edit: use emptyText for cpuunits
Fiona Ebner [Fri, 7 Oct 2022 12:41:54 +0000 (14:41 +0200)]
ui: lxc/qemu: cpu edit: use emptyText for cpuunits

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>
18 months agoui: qemu/lxc: cpu edit: fix 'create' parameter for delete_if_default()
Fiona Ebner [Fri, 7 Oct 2022 12:41:53 +0000 (14:41 +0200)]
ui: qemu/lxc: cpu edit: fix 'create' parameter for delete_if_default()

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>
18 months agoui: lxc: cpu edit: drop superfluous delete_if_default
Fiona Ebner [Fri, 7 Oct 2022 12:41:52 +0000 (14:41 +0200)]
ui: lxc: cpu edit: drop superfluous delete_if_default

Commit bf96f60d ("use IntegerField from widget toolkit") switched to
using an Promxox IntegerField with 'deleteEmpty: true'. This means
that a value of '' already is removed from 'values' and added to
'delete' before onGetValues() is called here.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agoJobs/Plugin: remove 'vzdump' from id description
Dominik Csapak [Mon, 4 Apr 2022 08:54:14 +0000 (10:54 +0200)]
Jobs/Plugin: remove 'vzdump' from id description

it's not necessarily a vzdump job

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoJobs: provide id and schedule to the job
Dominik Csapak [Mon, 4 Apr 2022 08:54:13 +0000 (10:54 +0200)]
Jobs: provide id and schedule to the job

we need that for realmsync jobs

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
18 months agoui: {guest, node} summary: use correct unit for CPU usage
Fiona Ebner [Fri, 4 Nov 2022 07:42:55 +0000 (08:42 +0100)]
ui: {guest, node} summary: use correct unit for CPU usage

One could also think about showing something like '% of N CPUs', but
this can be inaccurate for older data, because the number of CPUs can
change.

Reported in the community forum:
https://forum.proxmox.com/threads/117362/

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
18 months agofixup /cluster/resources schema
Wolfgang Bumiller [Fri, 4 Nov 2022 15:04:42 +0000 (16:04 +0100)]
fixup /cluster/resources schema

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agogui: fix firewall security group help button chapter link
Daniel Tschlatscher [Fri, 4 Nov 2022 09:18:47 +0000 (10:18 +0100)]
gui: fix firewall security group help button chapter link

The help button under Datacenter > Firewall > Security Group did not
have the proper help chapter link set.

First reported here:
https://forum.proxmox.com/threads/broken-help-link-in-proxmox-gui.117503/

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
18 months agopveupdate: reword comment slightly and adapt text width
Thomas Lamprecht [Fri, 4 Nov 2022 09:32:38 +0000 (10:32 +0100)]
pveupdate: reword comment slightly and adapt text width

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
18 months agocleanup: style fix
Stefan Hrdlicka [Mon, 10 Oct 2022 15:21:16 +0000 (17:21 +0200)]
cleanup: style fix

Signed-off-by: Stefan Hrdlicka <s.hrdlicka@proxmox.com>
18 months agofix #1981: get next free disk id on change of bus/device
Stefan Hrdlicka [Mon, 10 Oct 2022 15:21:15 +0000 (17:21 +0200)]
fix #1981: get next free disk id on change of bus/device

Signed-off-by: Stefan Hrdlicka <s.hrdlicka@proxmox.com>
19 months agoui: node: rework layout of certificate viewer
Thomas Lamprecht [Wed, 19 Oct 2022 13:12:15 +0000 (15:12 +0200)]
ui: node: rework layout of certificate viewer

Move the raw cert into a fieldset and collapse that by default, also
make it render monospace and pre-wrap whitespace.

Use a inputpanel to get top, col 1/2 & bottom layout so that rsa key
type/size and validity range can be rendered more compactly

n addition to that limit the whole windows height but make it
scrollable, this allows to sanely use the viewer on certs with many
SANs even on small window/browser sizes.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agoui: dc: subscription: fix subscription check
Aaron Lauterer [Wed, 19 Oct 2022 10:34:27 +0000 (12:34 +0200)]
ui: dc: subscription: fix subscription check

With the change to the rust backend for the subscription check, the
return value changed as well.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
19 months agoreport: add arcstat
Aaron Lauterer [Tue, 18 Oct 2022 12:11:05 +0000 (14:11 +0200)]
report: add arcstat

One of the infos, that can sometimes be usable.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
19 months agoapi: ceph: pools: get_storages: set pool name if missing
Aaron Lauterer [Thu, 13 Oct 2022 10:32:47 +0000 (12:32 +0200)]
api: ceph: pools: get_storages: set pool name if missing

This avoids errors about the use of uninitialized values if the 'pool'
parameter is not present in the storage configuration.

The 'pool' property for an RBD storage config is not mandatory.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
19 months agoui: node certificate: make panel only vertical scrollable
Thomas Lamprecht [Mon, 10 Oct 2022 14:23:52 +0000 (16:23 +0200)]
ui: node certificate: make panel only vertical scrollable

Otherwise, a browser window breaks the responsive horizontal
flex-flow/grid-column resize, and just displays the vertical scroll
bar instead, which can look a bit odd.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agoui: node certificate: make parent panel scrollable
Dominik Csapak [Mon, 10 Oct 2022 08:12:01 +0000 (10:12 +0200)]
ui: node certificate: make parent panel scrollable

The `ACME` panel may be rendered out of sight (overflow) when there
are enough SANs on the upper `Certificates` panel to push it down
enough and the browser/display height is too small.

Enable the `scrollable` config for the parent certificate view panel
to make ExtJS automatically add a scrollbar if the content overflows.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agod/control: bump guest-common dependency
Wolfgang Bumiller [Mon, 10 Oct 2022 12:50:27 +0000 (14:50 +0200)]
d/control: bump guest-common dependency

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agovzdump: handle new 'performance' property string
Fiona Ebner [Mon, 3 Oct 2022 13:52:07 +0000 (15:52 +0200)]
vzdump: handle new 'performance' property string

Also generalizes the way vzdump property strings are handled for jobs.
Something similar could be done in VZDump.pm, but there the maxfiles
and prune-backups settings are currently coupled, so a dedicated
parse_performance() is used instead. Can be changed once maxfiles is
dropped.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
19 months agoui: mdev selector: avoid separate gettext for "Avail"
Thomas Lamprecht [Tue, 4 Oct 2022 11:53:39 +0000 (13:53 +0200)]
ui: mdev selector: avoid separate gettext for "Avail"

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agopveupdate: split/sort perl module usage
Thomas Lamprecht [Thu, 29 Sep 2022 12:16:11 +0000 (14:16 +0200)]
pveupdate: split/sort perl module usage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agoui: eslint: fix undefined check
Dominik Csapak [Thu, 15 Sep 2022 09:48:24 +0000 (11:48 +0200)]
ui: eslint: fix undefined check

'typeof' cannot return 'undefined' only the string '"undefined"', newer
eslint versions detect that as error

to fix it, directly check it for undefined instead of using typeof

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
20 months agoapt: add proxmox-offline-mirror-helper package
Fabian Grünbichler [Thu, 15 Sep 2022 07:06:08 +0000 (09:06 +0200)]
apt: add proxmox-offline-mirror-helper package

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agoapt: sort list of optional packages
Fabian Grünbichler [Thu, 15 Sep 2022 07:06:02 +0000 (09:06 +0200)]
apt: sort list of optional packages

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agoui: ceph: use quincy as new default for fresh installations
Thomas Lamprecht [Thu, 15 Sep 2022 05:41:39 +0000 (07:41 +0200)]
ui: ceph: use quincy as new default for fresh installations

Note that we still check the cluster for an already used installation
and will select that, if any, so this is really just for setting up a
completely new cluster.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agobump version to 7.2-11
Thomas Lamprecht [Wed, 14 Sep 2022 11:15:25 +0000 (13:15 +0200)]
bump version to 7.2-11

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agod/postinst: set_lvm_conf: early return to avoid indentation level
Thomas Lamprecht [Wed, 14 Sep 2022 08:48:53 +0000 (10:48 +0200)]
d/postinst: set_lvm_conf: early return to avoid indentation level

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agod/postinst: fix indentation to four spaces
Thomas Lamprecht [Wed, 14 Sep 2022 08:48:19 +0000 (10:48 +0200)]
d/postinst: fix indentation to four spaces

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agopostinst: migrate/update APT auth config
Fabian Grünbichler [Wed, 14 Sep 2022 08:05:54 +0000 (10:05 +0200)]
postinst: migrate/update APT auth config

missed when switching over to Proxmox::RS::Subscription, which stores
the same info in the product-specific /etc/apt/auth.conf.d/pve.conf .

the top-level file might contain non-PVE-managed entries, so only remove
entries matching "our" machine.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agoui: workspace: fix lxc widget xtype
Thomas Lamprecht [Tue, 13 Sep 2022 15:51:35 +0000 (17:51 +0200)]
ui: workspace: fix lxc widget xtype

the real bug is to name the widget xtypes like classes

Fixes: 16875928d37d586a08f173766cdcf8d41bd87a4b
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agoui: guest summary: fix qemu specific class name
Thomas Lamprecht [Mon, 12 Sep 2022 15:01:32 +0000 (17:01 +0200)]
ui: guest summary: fix qemu specific class name

call sites already used the 'pveGuestSummary'

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agoui: lxc: fix alias definition of PVE.lxc.Config
Thomas Lamprecht [Mon, 12 Sep 2022 15:00:58 +0000 (17:00 +0200)]
ui: lxc: fix alias definition of PVE.lxc.Config

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agoreport: stabilize order of guests and network
Stoiko Ivanov [Mon, 12 Sep 2022 13:37:38 +0000 (15:37 +0200)]
report: stabilize order of guests and network

both categories have '40' as their order - leading to random swaps
between those 2 categories in the actual report.

I only increased the order of network, instead of renumerating all
succeeding categories by 10 (mostly for better readability of the
patch)

Suggested-by: Aaron Lauterer <a.lauterer@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
20 months agoreport: add proxmox-boot-tool status output
Stoiko Ivanov [Mon, 12 Sep 2022 13:37:37 +0000 (15:37 +0200)]
report: add proxmox-boot-tool status output

while needed seldomly we had a few cases recently where this would
have saved the user and us one roundtrip.

adding to storage, to be close to the `findmnt` output (which usually
tells us if the system is booted in efi or legacy mode)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
20 months agod/control: recommend proxmox-offline-mirror-helper
Fabian Grünbichler [Mon, 12 Sep 2022 08:51:19 +0000 (10:51 +0200)]
d/control: recommend proxmox-offline-mirror-helper

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump version to 7.2-10
Fabian Grünbichler [Mon, 12 Sep 2022 07:15:59 +0000 (09:15 +0200)]
bump version to 7.2-10

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agopvesubscription: remove leftover $key
Fabian Grünbichler [Fri, 9 Sep 2022 13:06:26 +0000 (15:06 +0200)]
pvesubscription: remove leftover $key

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump version to 7.2-9
Thomas Lamprecht [Thu, 8 Sep 2022 12:57:32 +0000 (14:57 +0200)]
bump version to 7.2-9

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agoui: CephInstall: fix a/an typo
Aaron Lauterer [Wed, 10 Aug 2022 15:10:20 +0000 (17:10 +0200)]
ui: CephInstall: fix a/an typo

and switch to template string

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
20 months agoui: CephInstallWizard: make first mon node static
Aaron Lauterer [Wed, 10 Aug 2022 15:10:19 +0000 (17:10 +0200)]
ui: CephInstallWizard: make first mon node static

Removes the possibility to select the node on which to create the first
monitor in the configuration / initialization step and always sets it to
the current node.

This prevents that a user might select another node on which the Ceph
packages have not yet been installed. If a user did that, they would get
an error, but the Ceph config file would have been written. If the user
then does not select a valid node to create the first mon, but aborts
the wizard, they are greeted with a rados_connect error because the
config file exists, but it does not contain any mon infos that are
needed to connect to the Ceph cluster.

Creating a mon manually will remedy such a situation, but especially for
new users, this behavior is not ideal and confusing.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
20 months agosubscription: handle missing subscription info
Fabian Grünbichler [Wed, 7 Sep 2022 08:47:05 +0000 (10:47 +0200)]
subscription: handle missing subscription info

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agoapi: nodes: code/style rework start/stop list generation
Thomas Lamprecht [Thu, 1 Sep 2022 09:08:59 +0000 (11:08 +0200)]
api: nodes: code/style rework start/stop list generation

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>