]> git.proxmox.com Git - pve-manager.git/log
pve-manager.git
2 months agoui: guest import: add text for guest-is-running warning
Thomas Lamprecht [Tue, 12 Mar 2024 13:13:36 +0000 (14:13 +0100)]
ui: guest import: add text for guest-is-running warning

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: guest import: update text for cdrom-image-ignored warning
Thomas Lamprecht [Tue, 12 Mar 2024 13:13:01 +0000 (14:13 +0100)]
ui: guest import: update text for cdrom-image-ignored warning

one can now override this already in the import UI's Advanced tab.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: guest import: handle new disk api format
Dominik Csapak [Mon, 11 Mar 2024 14:35:49 +0000 (15:35 +0100)]
ui: guest import: handle new disk api format

and render the size if we have it (for disks that make sense)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: add config tab
Dominik Csapak [Mon, 11 Mar 2024 14:15:24 +0000 (15:15 +0100)]
ui: guest import: add config tab

that shows the current config. Recalculates whenever one changes to its
tab

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: move live import checkbox into panel
Dominik Csapak [Mon, 11 Mar 2024 14:14:27 +0000 (15:14 +0100)]
ui: guest import: move live import checkbox into panel

From the footer-bar, so make it a bit more apparent, and also to add
the 'Experimental' text to it.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: make window wider
Dominik Csapak [Mon, 11 Mar 2024 14:13:36 +0000 (15:13 +0100)]
ui: guest import: make window wider

so we have more space to show e.g. columns in the grids

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: rework to tab panels
Dominik Csapak [Mon, 11 Mar 2024 14:10:01 +0000 (15:10 +0100)]
ui: guest import: rework to tab panels

instead of putting all options on a single panel, split into 'general'
and 'advanced'

we move all disk/cd/network related grids to the advanced tab, and
introduce a 'default storage' and 'default bridge' selector to the
general tab.

this way, one can import very quickly when the default are fine or
when only the storage/bridge should change, but can still set the
storage/bridges etc. very fine grained.

also we have the possibility to extend the window in the future with
more tabs.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: network grid: allow selecting hardware type
Dominik Csapak [Mon, 11 Mar 2024 10:59:38 +0000 (11:59 +0100)]
ui: guest import: network grid: allow selecting hardware type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: network grid: display 'auto' instead of nothing
Dominik Csapak [Mon, 11 Mar 2024 10:59:05 +0000 (11:59 +0100)]
ui: guest import: network grid: display 'auto' instead of nothing

when there is not mac address on the source side

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: sort grids by id
Dominik Csapak [Mon, 11 Mar 2024 10:58:48 +0000 (11:58 +0100)]
ui: guest import: sort grids by id

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: add cdrom grid
Dominik Csapak [Mon, 11 Mar 2024 10:58:23 +0000 (11:58 +0100)]
ui: guest import: add cdrom grid

so that one can already select an iso from here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: guest import: add ostype selector
Dominik Csapak [Mon, 11 Mar 2024 10:57:57 +0000 (11:57 +0100)]
ui: guest import: add ostype selector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: esxi import: support rendering structured warnings
Thomas Lamprecht [Sun, 10 Mar 2024 18:48:43 +0000 (19:48 +0100)]
ui: esxi import: support rendering structured warnings

Render warnings as list to allowing one to better distinguish multiple
ones.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: add wizard to allow importing from ESXi attached as storage
Dominik Csapak [Fri, 8 Mar 2024 14:38:44 +0000 (15:38 +0100)]
ui: add wizard to allow importing from ESXi attached as storage

Add a new 'import' panel for storages supporting the 'import'
content type that shows a list of configs to import.

When opening the wizard, we query the meta info from the new
import-metadata API endpoint, and pre-fill the fields and shows
potential warnings or things to watch out for, returned by the API.

For disks and networks we allow to select which one to use and which
storage/bridge to import to.

Additionally, users can opt-in to a live-import, where the VM is
immediately started and storage requests are fetched from the target
on demand while importing the rest in the background.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 [ TL: some fixes, clean-ups and commit message rewording ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: esxi storage edit: add checkbox for skipping certificate validation
Thomas Lamprecht [Wed, 13 Mar 2024 06:47:37 +0000 (07:47 +0100)]
ui: esxi storage edit: add checkbox for skipping certificate validation

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: esxi storage edit: make user and password always editable
Thomas Lamprecht [Wed, 13 Mar 2024 06:28:44 +0000 (07:28 +0100)]
ui: esxi storage edit: make user and password always editable

Those can change somewhat frequently, e.g., as part of credentials
rotation policies.

Keep the 'server' one for now as is, while it can make sense to change
that too, e.g., from IP to FQDN, it's currently uncommon for PVE to
allow that in the UI, if we should evaluate all storage types for such
things and for that we also should improve the re-mount/activate story
in the storage lib.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: allow adding the esxi storage type
Dominik Csapak [Fri, 8 Mar 2024 14:37:28 +0000 (15:37 +0100)]
ui: allow adding the esxi storage type

also change the icon to 'fa-cloud-download', hide the 'unknown' status
in the tree, and hide the Summary info from the storage browser

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: content view: fix use of external static tbar declaration
Dominik Csapak [Fri, 8 Mar 2024 14:33:20 +0000 (15:33 +0100)]
ui: content view: fix use of external static tbar declaration

when using a declarative `tbar` when instantiating a ContentView,
it is a reference and gets pushed into every time.

instead, copy the given tbar into a local variable and use that

this fixes an issue that we push the same components (e.g. search) into
the toolbar whenever we open a view with a new ContentView
(when using declarative tbar)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: content view: use modern simplified object delcaration
Dominik Csapak [Fri, 8 Mar 2024 14:32:24 +0000 (15:32 +0100)]
ui: content view: use modern simplified object delcaration

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 months agoui: storage content view: allow to define handler for item double-click
Thomas Lamprecht [Wed, 13 Mar 2024 13:45:41 +0000 (14:45 +0100)]
ui: storage content view: allow to define handler for item double-click

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agobump version to 8.1.5
Thomas Lamprecht [Thu, 14 Mar 2024 14:13:30 +0000 (15:13 +0100)]
bump version to 8.1.5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agod/control: bump versioned dependency for libpve-access-control
Thomas Lamprecht [Wed, 28 Feb 2024 14:53:49 +0000 (15:53 +0100)]
d/control: bump versioned dependency for libpve-access-control

to ensure the newly checked Sys.AccessNetwork privilege is available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: storage: enable download-url button with Sys.AccessNetwork capability
Thomas Lamprecht [Mon, 19 Feb 2024 16:36:02 +0000 (17:36 +0100)]
ui: storage: enable download-url button with Sys.AccessNetwork capability

Now that the new Sys.AccessNetwork privilege got added to
access-control and the storage download and manager query API
endpoints, the UI should reflect that change and allow opening the
dialogue to download an image from URL also for the users that are
allowed to do so through the new privilege.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Hannes Duerr <h.duerr@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 months agoapi: nodes: allow usage of query url metadata with Sys.AccessNetwork
Thomas Lamprecht [Mon, 19 Feb 2024 16:27:46 +0000 (17:27 +0100)]
api: nodes: allow usage of query url metadata with Sys.AccessNetwork

This was restricted to Sys.Modify + Sys.Audit on the whole cluster to
ensure that only trusted users get access to a method that can scan
the (local) network from the POV of the Proxmox VE node, even if only
through HTTP HEAD requests.

Nowadays there's enough user interest [0] to warrant a separate access
privilege to cover such an use case, and while most of the requests
are for the download-url storage API endpoint, this method here is not
only a bit less powerful than the storage one, it's rather tied to the
latter anyway (e.g. for querying the metadata of a URL in the web UI
for name and size before downloading it to a storage).

For backwards compatibility keep the old check and add the new
privilege as alternative to fulfill the permission requirements of
that API endpoint.

[0]: https://bugzilla.proxmox.com/show_bug.cgi?id=5254

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Hannes Duerr <h.duerr@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 months agoappliance index: use upper case for constant like variables
Thomas Lamprecht [Wed, 28 Feb 2024 13:28:09 +0000 (14:28 +0100)]
appliance index: use upper case for constant like variables

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoappliance index: warn if log rotation fails
Thomas Lamprecht [Wed, 28 Feb 2024 13:27:19 +0000 (14:27 +0100)]
appliance index: warn if log rotation fails

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoappliance index: fix precedence in size check for log rotation
Fiona Ebner [Wed, 28 Feb 2024 12:07:08 +0000 (13:07 +0100)]
appliance index: fix precedence in size check for log rotation

In Perl, > takes precedence over ||, see perldoc perlop, so currently
the check will trigger with any size.

Fixes: 805cae93 ("appliance index: rotate update log if bigger than 256 KiB")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2 months agoui: IP set: fix indentation and whitespace issues
Thomas Lamprecht [Mon, 26 Feb 2024 18:08:01 +0000 (19:08 +0100)]
ui: IP set: fix indentation and whitespace issues

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoapi: node status: document boot-info and current-kernel in return schema
Thomas Lamprecht [Mon, 26 Feb 2024 15:55:11 +0000 (16:55 +0100)]
api: node status: document boot-info and current-kernel in return schema

I recently added the same info to PMG and added them to the return
schema, so copying them over here comes for free, and while far from
complete but better than nothing.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoui: qemu: bump max cores to 256 by socket
Alexandre Derumier [Fri, 12 Jan 2024 20:08:06 +0000 (21:08 +0100)]
ui: qemu: bump max cores to 256 by socket

New AMD Epyc CPUs already supports 168 threads and QEMU 8.1 support
1024 cores with q35.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoappliance index: rotate update log if bigger than 256 KiB
Thomas Lamprecht [Tue, 20 Feb 2024 12:40:31 +0000 (13:40 +0100)]
appliance index: rotate update log if bigger than 256 KiB

50 KiB is really tiny and while this log file is not _that_ important,
spending a few KiB more to keep much older logs around is almost
always a win-win situation, now that root storage size is rather some
hundred GB in most setups.

Drop the unused size variable while touching this, which was the
actual thing that made me look closer here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agofix #5106: ui: ceph status: make column wrap the summary text on expand
Dominik Csapak [Thu, 7 Dec 2023 13:35:58 +0000 (14:35 +0100)]
fix #5106: ui: ceph status: make column wrap the summary text on expand

with this the title is now completely visible when the column is
expanded, even if it's originally too narrow.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
 [TL: fix eslint warning for missing space after comma ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoui: node: system: avoid using 'Syslog'
Fiona Ebner [Thu, 15 Feb 2024 12:59:30 +0000 (13:59 +0100)]
ui: node: system: avoid using 'Syslog'

Reported in the community forum [0]. Since Proxmox VE 8/Debian 12,
rsyslog is not installed by default for new installations anymore [1].
The information gathered by the API call comes from the systemd
journal. While 'Syslog' could be interpreted as a shorthand for
"System Log", it's better to be explicit to avoid any confusion.

In addition, the systemd journal does much more than plain syslog
messages, as argued by Fabian [2].

[0]: https://forum.proxmox.com/threads/141631/post-634675
[1]: https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-system-logging
[2]: https://lists.proxmox.com/pipermail/pve-devel/2024-February/061765.html

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
 [TL: Mention and link to Fabian's argument ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agobuild-sys: allow a multi-digit release number
Thomas Lamprecht [Fri, 9 Feb 2024 11:04:07 +0000 (12:04 +0100)]
build-sys: allow a multi-digit release number

future proofing at this point, but let's rather fix this already
before we forget...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoceph: config hash fallback style improvement
Fabian Grünbichler [Mon, 12 Feb 2024 13:06:55 +0000 (14:06 +0100)]
ceph: config hash fallback style improvement

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
3 months agoceph: fix edge case of wrong files being deleted on purge
Max Carrara [Mon, 5 Feb 2024 17:54:16 +0000 (18:54 +0100)]
ceph: fix edge case of wrong files being deleted on purge

Having a file named e.g. "60" in your current directory will cause it
to be deleted when executing `pveceph purge`. This commit fixes that
by making the config hash differ between which values represent file
paths and which don't.

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
3 months agopvesubscription: add missing return statement
Alexander Zeidler [Mon, 29 Jan 2024 09:47:05 +0000 (10:47 +0100)]
pvesubscription: add missing return statement

to avoid a failing null check and its error message. This confused
users since the activation was successful anyway.

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
3 months agoui: lvm: expose saferemove setting
Fiona Ebner [Thu, 1 Feb 2024 15:12:38 +0000 (16:12 +0100)]
ui: lvm: expose saferemove setting

It can be security-relevant in some environments. The LVM storage
documentation can be reached via the "Help" button and contains a few
more details.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
3 months agoui: adapt to fix of Korean language code
Thomas Lamprecht [Thu, 18 Jan 2024 13:11:28 +0000 (14:11 +0100)]
ui: adapt to fix of Korean language code

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoui: storage: zfs: set blocksize placeholder to 16k
Aaron Lauterer [Mon, 29 Jan 2024 14:42:06 +0000 (15:42 +0100)]
ui: storage: zfs: set blocksize placeholder to 16k

to reflect current ZFS defaults.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
3 months agovzdump: make helper functions for sending notifications private
Lukas Wagner [Thu, 14 Dec 2023 14:11:54 +0000 (15:11 +0100)]
vzdump: make helper functions for sending notifications private

The helpers were split out from the original 'sendmail' function when
migrating to the new notification system. They are not needed anywhere
else and can thus be private.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
3 months agofix #5067: vzdump: include total backup size in notification
Lukas Wagner [Thu, 14 Dec 2023 14:11:53 +0000 (15:11 +0100)]
fix #5067: vzdump: include total backup size in notification

The old backup job notification mails from before the notification
system overhaul included the total time as well as the total size.

The total size was missing from the new, template-based backup report,
thus we add it back in this commit.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
[FE: style fix - use parentheses for returning list]
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
4 months agoadd missing library packages
Hannes Duerr [Fri, 12 Jan 2024 13:41:51 +0000 (14:41 +0100)]
add missing library packages

Signed-off-by: Hannes Duerr <h.duerr@proxmox.com>
4 months agoreport: format iptables output for readability
Alexander Zeidler [Tue, 9 Jan 2024 14:23:56 +0000 (15:23 +0100)]
report: format iptables output for readability

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
4 months agopvesubscription: update set-offline-key description
Alexander Zeidler [Tue, 9 Jan 2024 14:23:55 +0000 (15:23 +0100)]
pvesubscription: update set-offline-key description

and point users to proxmox-offline-mirror-helper

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
4 months agod/postinst: fix up whitespace indentation
Thomas Lamprecht [Wed, 10 Jan 2024 09:35:41 +0000 (10:35 +0100)]
d/postinst: fix up whitespace indentation

we actually use a sane one here so do not mess with that

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agobump version to 8.1.4
Thomas Lamprecht [Thu, 14 Dec 2023 14:20:10 +0000 (15:20 +0100)]
bump version to 8.1.4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agopostinst: filter rbds in lvm
Stefan Hanreich [Fri, 22 Dec 2023 09:58:06 +0000 (10:58 +0100)]
postinst: filter rbds in lvm

Since LVM 2.03.15 RBD devices are also scanned by default [1]. This
can lead to guest volumes being recognized and displayed on the host
when using KRBD for RBD-backed disks. In order to prevent this we add
an additional filter to the LVM config to avoid scanning rbds.

This also prevents a bug where LVM created a very high amount of
archive entries when there were logical volumes with the same path
available. This could happen when two guests with RBD disks had the
same LVM layout or a guest and host had the same layout.

previous behavior:
If there is no marker in the LVM conf and global_filter does not
contain '/dev/zd.*': replace the global_filter with our version

new behavior:
Replace the global_filter iff:
- There is no marker and global_filter is empty
- The global_filter is exactly the old default

If we don't replace the filter and it is a non-default value: We print
a warning. Addtionally we force this function to run once when
upgrading from older versions.

The previous versions could replace custom global_filters where the
comment had been removed and the zvol directive removed. The new
behavior is slightly more conservative, but works the same in other
cases.

[1] https://gitlab.com/lvmteam/lvm2/-/commit/6a431eb24241caf2277d3e5b4718782d92650a2a

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
4 months agoui: DirEdit: LVMEdit: add hint when to enable shared
Aaron Lauterer [Tue, 10 Oct 2023 13:24:52 +0000 (15:24 +0200)]
ui: DirEdit: LVMEdit: add hint when to enable shared

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
4 months agoreport: add packet counter to iptables output
Hannes Duerr [Wed, 3 Jan 2024 08:53:30 +0000 (09:53 +0100)]
report: add packet counter to iptables output

Signed-off-by: Hannes Duerr <h.duerr@proxmox.com>
5 months agofix #5121: ui: node status: avoid invalid array access for certain foreign kernels
Fiona Ebner [Thu, 14 Dec 2023 10:34:44 +0000 (11:34 +0100)]
fix #5121: ui: node status: avoid invalid array access for certain foreign kernels

with custom build date format, which would prevent the panel from loading.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
5 months agoapi: replication: allow users to enumerate accessible replication jobs
Lukas Wagner [Fri, 1 Dec 2023 13:24:09 +0000 (14:24 +0100)]
api: replication: allow users to enumerate accessible replication jobs

Previously, the /cluster/replication API handler would fail completely
with a HTTP 403 if a user does have VM.Audit permissions for
a single VM/CT. That was due to the 'noerr' parameter not set for
$rpcenv->check()

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
5 months agoui: iso selector: disable all fields to avoid bogus validation
Fiona Ebner [Mon, 4 Dec 2023 09:29:56 +0000 (10:29 +0100)]
ui: iso selector: disable all fields to avoid bogus validation

The validation logic of the inner fields from the ISO selector was not
disabled, so a user would need to select a valid storage and ISO file
before being able to make any other choice for the general CD-ROM
drive source (no-media or physical-drive).

Call the parent method to ensure all the inner fields get actually
disabled so that their validators also get disarmed if not relevant.

Reported in the communiy forum:
https://forum.proxmox.com/threads/136960/post-611704

Fixes: fc7b556d ("ui: refactor iso-selector out of the cd input panel")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
 [ TL: add more background to commit message/subject ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 months agonode: add guard for missing secure-boot efi var
Fabian Grünbichler [Tue, 28 Nov 2023 06:58:49 +0000 (07:58 +0100)]
node: add guard for missing secure-boot efi var

some (old) systems might have efivars, but don't have the SecureBoot one.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 months agoapi: apt versions: track dnsmasq and frr-pythontools as optional packages
Thomas Lamprecht [Thu, 23 Nov 2023 10:33:58 +0000 (11:33 +0100)]
api: apt versions: track dnsmasq and frr-pythontools as optional packages

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agobump version to 8.1.3
Thomas Lamprecht [Thu, 23 Nov 2023 10:20:06 +0000 (11:20 +0100)]
bump version to 8.1.3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: pool view: fix editing nested pools
Dominik Csapak [Thu, 23 Nov 2023 10:07:19 +0000 (11:07 +0100)]
ui: pool view: fix editing nested pools

for nested pools we have to provide the pool id via a get parameter
instead of in the path, and also we have to extract the data from the
returned array.

To do this, changet the cbind url handler, remove the autoLoad one,
and handle the load ourselves.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agobump version to 8.1.2
Thomas Lamprecht [Thu, 23 Nov 2023 09:23:11 +0000 (10:23 +0100)]
bump version to 8.1.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: perm paths: change /mapping/notification to /mapping/notifications
Lukas Wagner [Thu, 23 Nov 2023 09:54:03 +0000 (10:54 +0100)]
ui: perm paths: change /mapping/notification to /mapping/notifications

The ACL path was changed during the notification system rework.
This change adapts the list of predefined ACL paths in the
'Add {User,Group,API Token} Permission' dialog window to reflect
this change.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agod/control: bump versioned dependency for libpve-guest-common-perl
Thomas Lamprecht [Thu, 23 Nov 2023 09:40:13 +0000 (10:40 +0100)]
d/control: bump versioned dependency for libpve-guest-common-perl

Ensure new notification-mode property is recognized for backup jobs.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: resource tree: remove wrong comment
Dominik Csapak [Thu, 23 Nov 2023 08:25:42 +0000 (09:25 +0100)]
ui: resource tree: remove wrong comment

that function is not only there for the storage indicators, but
generally for adding additional information, such as tags, and for
wrapping in a span for making tooltip selection easier.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoui: resource tree: fix extra space inconsistency in some node elements
Dominik Csapak [Thu, 23 Nov 2023 08:25:40 +0000 (09:25 +0100)]
ui: resource tree: fix extra space inconsistency in some node elements

When a node element was updated, it was put through the 'setText'
method which accidentally added a space before it's name.

Fix this by putting the space into the status variable.

Without this patch one could observe a vertical misalignment when some
nodes had guests on them but others had none.

Fixes: 2f414c50 ("ui: resource tree: limit tooltip to icon and text")
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: drop various translations of fixed strings
Thomas Lamprecht [Thu, 23 Nov 2023 08:23:23 +0000 (09:23 +0100)]
ui: drop various translations of fixed strings

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: iso selector: fix layout, stretch items again to full space
Thomas Lamprecht [Wed, 22 Nov 2023 19:40:29 +0000 (20:40 +0100)]
ui: iso selector: fix layout, stretch items again to full space

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agobump version to 8.1.1
Thomas Lamprecht [Wed, 22 Nov 2023 18:37:14 +0000 (19:37 +0100)]
bump version to 8.1.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: sdn zone base: fix indentation
Thomas Lamprecht [Wed, 22 Nov 2023 18:35:41 +0000 (19:35 +0100)]
ui: sdn zone base: fix indentation

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agosdn: zone: fix edit for dns zone
Stefan Hanreich [Wed, 22 Nov 2023 18:05:36 +0000 (19:05 +0100)]
sdn: zone: fix edit for dns zone

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agosdn: adapt edit panels for new API endpoints
Stefan Hanreich [Wed, 22 Nov 2023 17:41:05 +0000 (18:41 +0100)]
sdn: adapt edit panels for new API endpoints

PUT endpoints have changed so they work like the other SectionConfig
endpoints. Reflect those changes in the UI.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agoapi: node status: cache boot mode info
Thomas Lamprecht [Wed, 22 Nov 2023 15:07:09 +0000 (16:07 +0100)]
api: node status: cache boot mode info

it's not that expensive but we call the endpoint that returns the boot
mode info very frequently, and EFI vars are provided by the firmware,
and there are lots of known cases where firmware was just a plain
mess.

So, don't risk that overly frequent reads will cause some weird side
effect and rather just cache the whole info, it cannot change without
a reboot anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: sdn: use all upper case for acronyms
Christian Ebner [Wed, 22 Nov 2023 14:22:07 +0000 (15:22 +0100)]
ui: sdn: use all upper case for acronyms

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
6 months agobump version to 8.1.0
Thomas Lamprecht [Wed, 22 Nov 2023 13:56:12 +0000 (14:56 +0100)]
bump version to 8.1.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agod/control: upgrade libpve-network-perl dependency to recommendation
Thomas Lamprecht [Wed, 22 Nov 2023 13:55:46 +0000 (14:55 +0100)]
d/control: upgrade libpve-network-perl dependency to recommendation

could actually be a hard dependency too

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoipam: send ip to delete endpoint
Stefan Hanreich [Wed, 22 Nov 2023 12:29:51 +0000 (13:29 +0100)]
ipam: send ip to delete endpoint

The ip parameter has been added to the delete endpoint, so only a
specific mapping gets deleted instead of all mappings for that mac
address. Reflect this change in the UI.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agoui: node summary: add boot-mode information
Thomas Lamprecht [Wed, 22 Nov 2023 12:45:18 +0000 (13:45 +0100)]
ui: node summary: add boot-mode information

Add a extra row for showing the current boot mode, for that we need to
grow the height of the status panel and graphs to have enough space
again.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoapi: nodes: add info about current boot mode
Thomas Lamprecht [Wed, 22 Nov 2023 12:19:49 +0000 (13:19 +0100)]
api: nodes: add info about current boot mode

report if the node is booted in EFI or Legacy BIOS mode, for the
former also pass along the secure boot state.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: node summary: reduce noise in current kernel version
Thomas Lamprecht [Wed, 22 Nov 2023 12:24:43 +0000 (13:24 +0100)]
ui: node summary: reduce noise in current kernel version

use the new 'current-kernel' object returned by the node status API to
render a more useable (less noise) version information.

Keep fallback for old one to better work with upgrades (major and
minor) to this version in a cluster, where the web UI one uses might
be the new one, but a node one looks at still have the old manager.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoapi: nodes: add full info about current kernel from uname call
Thomas Lamprecht [Wed, 22 Nov 2023 12:19:34 +0000 (13:19 +0100)]
api: nodes: add full info about current kernel from uname call

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: node summary: drop PVE prefix for manager version
Thomas Lamprecht [Wed, 22 Nov 2023 12:44:34 +0000 (13:44 +0100)]
ui: node summary: drop PVE prefix for manager version

the value on the right already includes pve-manager and the user has
already loaded the PVE gui, so this is a bit superfluous

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agosdn: subnet: proper change detect for dhcp range panel
Stefan Hanreich [Tue, 21 Nov 2023 19:46:32 +0000 (20:46 +0100)]
sdn: subnet: proper change detect for dhcp range panel

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agosdn: Update IPAM API endpoints
Stefan Hanreich [Mon, 20 Nov 2023 16:28:33 +0000 (17:28 +0100)]
sdn: Update IPAM API endpoints

The IPAM-related API endpoints were moved, reflect those changes in
the UI as well.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agosdn: ipam: add ipam panel
Stefan Hanreich [Fri, 17 Nov 2023 11:39:58 +0000 (12:39 +0100)]
sdn: ipam: add ipam panel

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agosdn: subnet: add panel for editing dhcp ranges
Stefan Hanreich [Fri, 17 Nov 2023 11:39:57 +0000 (12:39 +0100)]
sdn: subnet: add panel for editing dhcp ranges

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agosdn: add DHCP option to Zone dialogue
Stefan Hanreich [Fri, 17 Nov 2023 11:39:56 +0000 (12:39 +0100)]
sdn: add DHCP option to Zone dialogue

Co-Authored-by: Stefan Lendl <s.lendl@proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agosdn: regenerate DHCP config on reload
Stefan Hanreich [Fri, 17 Nov 2023 11:39:55 +0000 (12:39 +0100)]
sdn: regenerate DHCP config on reload

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
6 months agoui: dc: config: remove onlineHelp for notification config view
Lukas Wagner [Tue, 21 Nov 2023 14:47:57 +0000 (15:47 +0100)]
ui: dc: config: remove onlineHelp for notification config view

The 'onlineHelp' is now set in the component definition in
'proxmox-widget-toolkit'.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agoui: backup job: change field text for 'mailnotification' field
Lukas Wagner [Tue, 21 Nov 2023 12:52:40 +0000 (13:52 +0100)]
ui: backup job: change field text for 'mailnotification' field

... to highlight that this setting only affects the 'legacy-sendmail'
mail notifications.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agoui: backup: add 'notification-mode' param for one-shot backup jobs.
Lukas Wagner [Tue, 21 Nov 2023 12:52:39 +0000 (13:52 +0100)]
ui: backup: add 'notification-mode' param for one-shot backup jobs.

This selector allows one to selected between the 'old' (send email
directly via sendmail) or the 'new' notification system.

The default is 'auto', which sends and email if one is configured,
and uses the notification system if no email address is set.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agoui: backup jobs: add 'notification-mode' selector for backup jobs
Lukas Wagner [Tue, 21 Nov 2023 12:52:38 +0000 (13:52 +0100)]
ui: backup jobs: add 'notification-mode' selector for backup jobs

This selector allows one to selected between the 'old' (send email
directly via sendmail) or the 'new' notification system.

The default is 'auto', which sends and email if one is configured,
and uses the notification system if no email address is set.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agovzdump: support 'notification-mode' parameter
Lukas Wagner [Tue, 21 Nov 2023 12:52:37 +0000 (13:52 +0100)]
vzdump: support 'notification-mode' parameter

This parameter lets us choose between the 'legacy' notification
system (sendmail to some email addresses) and the 'new' notification
system (pub-sub based system with targets and matchers).
'auto' (default) will use the 'legacy' system if a mail address is
provided and the 'new' system if not.
This is allows users to opt-in/opt-out from the new notification
system, which might be a bit chatty by default.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agoui: qemu os type edit: eslint fixes
Thomas Lamprecht [Tue, 21 Nov 2023 13:40:20 +0000 (14:40 +0100)]
ui: qemu os type edit: eslint fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: ceph pool edit: rework with controller and formulas
Aaron Lauterer [Fri, 29 Sep 2023 13:02:03 +0000 (15:02 +0200)]
ui: ceph pool edit: rework with controller and formulas

instead of relying purely on listeners that then manually change other
components, we can use binds, formulas and a basic controller.

This makes it quite a bit easier to let multiple components react to
changes.

A cbind is used for the size component to set the initial start value.
Other options, like using setValue in the controller init, will trigger
the change listener and therefore can affect the min size without any
user interaction.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agofix #2515: ui: ceph pool create: use configured defaults for size and min_size
Aaron Lauterer [Fri, 29 Sep 2023 13:02:02 +0000 (15:02 +0200)]
fix #2515: ui: ceph pool create: use configured defaults for size and min_size

Instead of hard coded defaults for the size and min_size parameter,
check if we have defaults configured in the ceph.conf or config db and
use those.

There are clusters where different defaults are needed. For example if
the cluster spans two rooms and needs to survive the loss of one. A
size/min_size of 4/2 are common defaults in such a situation.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoapi: ceph: add endpoint to fetch config keys
Aaron Lauterer [Fri, 29 Sep 2023 13:02:01 +0000 (15:02 +0200)]
api: ceph: add endpoint to fetch config keys

This new endpoint allows to get the values of config keys that are
either set in the config db or the ceph.conf file.

Values that are set in the ceph.conf file have priority over values set
in the conifg db via 'ceph config set'.

Expects the --config-keys parameter as a semicolon separated list of
"<section>:<config key>" where the section is a section in the ceph.conf
or config db. For example: global:osd_pool_default_size

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: vm wizard: reword label for extra drive for virtio-drivers
Thomas Lamprecht [Tue, 21 Nov 2023 13:16:34 +0000 (14:16 +0100)]
ui: vm wizard: reword label for extra drive for virtio-drivers

while a user can attach anything, we change the defaults for, e.g.,
scsi controller or network to virtio if this is ticked, so try to hint
that a bit better

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: qemu wizard: use better boot order for second cd drive
Dominik Csapak [Tue, 21 Nov 2023 08:35:51 +0000 (09:35 +0100)]
ui: qemu wizard: use better boot order for second cd drive

in the case we add a second cd drive (for windows), we don't want the
backend logic to only include the first one, since we cannot know
which is bootable and which is (probably) the virtio iso.

so instead, emulate the backend logic for the wizard but include both cd
drives in that case, otherwise let the backend decide like before

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoui: vm wizard: allow second iso for windows vms
Dominik Csapak [Mon, 20 Nov 2023 15:45:43 +0000 (16:45 +0100)]
ui: vm wizard: allow second iso for windows vms

Having a second CD-drive is useful for adding the virtio-win driver
ISO for new installs, and thus we change the default disk type to scsi
and network type to VirtIO.

Add special logic to the OSTypeInputPanel when 'insideWizard' is true
to add an additional checkbox + iso selector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: refactor iso-selector out of the cd input panel
Dominik Csapak [Mon, 20 Nov 2023 15:45:42 +0000 (16:45 +0100)]
ui: refactor iso-selector out of the cd input panel

and make it into a proper field.
it's intended to be used like a single field, otherwise exactly as before

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: pools: switch to new API endpoints
Fabian Grünbichler [Mon, 20 Nov 2023 07:22:42 +0000 (08:22 +0100)]
ui: pools: switch to new API endpoints

which support nested pools. mostly straight-forward, only pool deletion and the
members grid need some special attention.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 months agofix #1148: api: pools: support nested pools
Fabian Grünbichler [Mon, 20 Nov 2023 07:22:41 +0000 (08:22 +0100)]
fix #1148: api: pools: support nested pools

since poolid can now contain `/`, it's not possible to use it (properly) as
path parameter anymore.

accordingly:
- merge `read_pool` (`GET /pools/{poolid}`) into 'index' (`GET
  /pools/?poolid={poolid}`) (requires clients to extract the only member of the returned array if they want to query an individual pool)
- move `update_pool` to `/pools`, deprecating the old variant with path parameter
- move `delete_pool` to `/pools`, deprecating the old variant with path parameter
- deprecate `read_pool` API endpoint

pool creation is blocked for nested pools where the parent does not already
exist. similarly, the checks for deletion are extended to block deletion if
sub-pools still exist.

the old API endpoints continue to work for non-nested pools. `pvesh ls /pools`
is semi-broken for nested pools, listing the entries, but no methods on them,
since they reference the old API. fixing this would require extending the REST
handling to support a new type of child reference.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 months agobump access-control to 8.0.7 for nested pools
Wolfgang Bumiller [Mon, 20 Nov 2023 11:26:12 +0000 (12:26 +0100)]
bump access-control to 8.0.7 for nested pools

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>