Commit Graph

6286 Commits

Author SHA1 Message Date
Thomas Lamprecht
5ac1eaa041 replication: split out error handling and include more info in mail
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-27 10:18:30 +02:00
Thomas Lamprecht
fa4bb659a3 replication: sent always mail for first three tries and move helper
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-27 09:48:28 +02:00
Fabian Ebner
237f00be03 api: replication: don't send mails about failed replication only once
but rather multiple times becoming exponentially less frequent.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-26 16:09:43 +02:00
Thomas Lamprecht
dcc7676af7 d/control: bump proxmox-widget-toolkit dependency to 3.4-9
to have the moved markdown notes component available, among other
things

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-26 16:06:04 +02:00
Dominik Csapak
a8e22a83ab ui: dont show '__default__' in renderer
with the recent rework of the render/maps/arrays, we now
show 'Default (__default__)'. Since '__default__' is only an internal
value in the gui, don't expose it by explicitely checking for it

in the other render functions it works already because we either construct
the text differently (console_map) or we check the result from
parsing (vga_driver)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-04-26 15:31:11 +02:00
Thomas Lamprecht
04f27b64d9 ui: realm sync: use fieldset for remove-vanished & ux/wording
Use fieldsets, which are just way nicer for grouping these things.

Disable the "remove properties" checkbox if we'd remove the whole
user anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-26 14:26:11 +02:00
Dominik Csapak
3e43739f57 ui: realm sync: replace 'full' and 'purge' with 'remove-vanished'
in default sync options and the sync window. We do this by exposing
the individual flags as checkboxes. We get the mapped value from the
backend so we do not have to handle 'old' values here.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-04-26 13:35:03 +02:00
Thomas Lamprecht
6e6a64a47a d/control: drop unused liblocale-po-perl build dependency
Became unused with commit 2bb03197d3
that moved the locale stuff to its own repo proxmox-i18n

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-26 13:34:50 +02:00
Thomas Lamprecht
56148f253e ui: utils: drop some useles _array helpers, just use Object.entries
if we need to enforce ordering it may help to reintroduce them
though.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-26 09:07:14 +02:00
Thomas Lamprecht
b7004b4682 ui: utils: rework kvm-vga/keymaps and console-viewer schema handling
shave off some bloat

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-26 09:01:13 +02:00
Dominik Csapak
f3d8ca24b5 ui: Utils: remove unnecessary render_kvm_vga_driver
the 'value' here is already the rendered text, passing it through
render again does not make sense

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-04-26 08:32:48 +02:00
Fabian Ebner
25bea05733 ceph: services: broadcast versions: improve requesting old version
to avoid a "malformed JSON string" warning when there is no old
version present (e.g. after starting a cluster).

get_node_kv will always return something that evaluates to true, so
instead, test if the result has an entry for the current node. Also,
it's enough to request the kv for the current node only.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-26 08:29:58 +02:00
Dominik Csapak
dd8b3252af ui: fix adding hostpci > 5
by using the limits from PVE.Utils

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-04-25 18:22:24 +02:00
Thomas Lamprecht
c8e171a8bd ui: vm display: refactor and cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-24 12:03:34 +02:00
Thomas Lamprecht
70aaf893b8 ui: backup restore: add hint to window title on overwrite restore
we prompt for confirmation in that case anyway, but some subtle, but
extra difference may still help

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-23 13:26:46 +02:00
Thomas Lamprecht
0e593799aa ui: backup restore: show "make unique" field also for self-overrride-existing
For example, relevant if the filterVMID checkbox got turned off. But
a user may also want to make the restored VM unique in other cases
too.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-23 13:26:45 +02:00
Thomas Lamprecht
ce60366ff3 ui: backup restore: use displayEdit field for guest selector
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-23 13:26:27 +02:00
Thomas Lamprecht
d3de9b555a ui: backup restore: rework to leverage more viewcontroller and cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-23 13:26:25 +02:00
Fabian Ebner
db8aa0f468 ui: disk storage selector: support storage with multiple formats without qcow2
For future or external storages where the assumption "multiple formats implies
qcow2 is supported" doesn't hold.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-20 15:01:28 +02:00
Fabian Ebner
faef846c22 ui: disk storage selector: never send format when hideFormat is true
The backend will pick an appropriate format when nothing is specified. The
comment made it sound like 'raw' would be sent, but that didn't actually happen
on file-based storages, and now no format is sent, so adapt the comment too.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-20 15:01:28 +02:00
Thomas Lamprecht
716c30438b ui: lxc resources: modernize & simplify
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-14 07:50:25 +02:00
Stefan Sterz
742de03d5a ui: move NotesView panel and NotesEdit window to widget kit
this removes the NotesView panel and NotesEdit and replaces them with
with the version from the widget kit. requires a bump of the widget
toolkit.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
2022-04-13 11:35:30 +02:00
Thomas Lamprecht
6c06783930 ui: disk reasign: condense code, some style improvements
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-13 11:34:31 +02:00
Thomas Lamprecht
d72ad78bd4 ui: disk reassign: improve title and field-label
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-08 15:00:58 +02:00
Thomas Lamprecht
14ea602f9d ui: disk reassign: drop useless intermediate form
The form is basically a 1:1 copy from what the edit window gives us
for free already anyway, so just drop it.

best viewed with `git show -w`

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-08 14:58:30 +02:00
Thomas Lamprecht
2281ca3202 ui: disk reassign: improve default focus behavior
avoid that opening the edit window makes the guest-selectors combobox
"jump" in ones face.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-08 14:55:07 +02:00
Thomas Lamprecht
3bde324faf ui: move disk reassign into window/ folder
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-08 14:53:55 +02:00
Aaron Lauterer
1b42be84cf ui: hdmove: modernize/refactor
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-07 15:35:17 +02:00
Aaron Lauterer
48eb9401a4 ui: BusTypeSelector: change noVirtIO to withVirtIO
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>
2022-04-07 15:35:17 +02:00
Aaron Lauterer
a8d854afe2 ui: lxc/qemu: add disk reassign and action submenu
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>
2022-04-07 15:34:44 +02:00
Aaron Lauterer
000b5537fc ui: utils: add nextFreeMP
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-07 15:32:44 +02:00
Aaron Lauterer
5747fef3d9 ui: utils: refactor mps to mp
Using the actual config key instead of the pluralization, makes it
easier in the situations where we need to match against it.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-07 15:32:44 +02:00
Fabian Ebner
4ad3a7cc2c ui: lxc: resources: consider rootfs as a disk again
Commit 809f6b6e ("ui: lxc resources: switch to vector based font
awesome icons") seems like an innocent change, but it broke the
(very brittle) logic here by removing the tdCls for rootfs.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-07 15:28:33 +02:00
Fabian Ebner
4981660f2a ui: storage edit: retention: add max-protected-backups setting
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-06 14:07:21 +02:00
Fabian Grünbichler
725c0555d2 vzdump: always pass full list to prune marking
else this single call site is subtly different from all the rest, which
could cause problems further down the line if we ever change the prune
logic.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-04-06 14:07:21 +02:00
Fabian Ebner
7bffbd2241 vzdump: backup limit: only count unprotected backups
since they are the ones relevant for pruning and protected backups
have their own separate limit.

Since get_backup_file_list is only used in places where the
unprotected backups are needed, adapt the helper accordingly.

If there is a storage, use PVE::Storage::volume_list to count the
unprotected backups. This avoids a direct invocation of the
proxmox-backup-client for PBS and the limit check can also work for
external storage plugins which might not be dir-based or name the
backups differently.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-06 13:40:05 +02:00
Fabian Ebner
0a9ca6caf6 vzdump: backup file list: drop unused parameter
It's not used anymore since 77c7945123
aligned pruning in a dumpdir with pruning on a storage.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-06 10:00:34 +02:00
Dominik Csapak
81ba0803d5 fix #3976: api/backup: make schedule/starttime truly optional on update
on create we require either starttime (+dow) or a schedule, but when
updating an existing job, this is not necessary

before we changed to schedules, the starttime was not optional either on
update, but i think there is no reason to require the user to send the
schedule/startime along every time.

the gui will send all values every time, so that was never a problem there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-04-01 17:52:10 +02:00
Thomas Lamprecht
d0477f12ad ui: render storage type: improve fallback
We support external storage plugins, e.g., for proprietary
technology, so a "unknown" value here may not actually mean that we
missed anything, so just return the type value 1:1 as fallback, that
gives the user a better idea about such a storage entry.

Reported-by: Joshua Huber <jhuber@blockbridge.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 17:28:38 +02:00
Dominik Csapak
349fe2a92a Jobs: don't schedule jobs with no computable next event
if we have a schedule that has no 'next event' we should skip the scheduling
instead of schedule every round

this can happen if someone sets an schedule that has no next match.
some examples:
* 2-31 00:00 (there is not February 31st)
* mon 2022-04-02 (this would be a saturday, not monday)
* 1970-1-1 (or every other exact date in the past)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-04-01 16:47:47 +02:00
Thomas Lamprecht
b49a0404be ui: vm hardware: module wide refactoring/cleanups/style changes/fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 16:46:30 +02:00
Thomas Lamprecht
0bb1e60d1a ui: vm hardware: fix add-menu itemId casing
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 16:41:44 +02:00
Thomas Lamprecht
aa8e5e7909 ui: vm: factor out add-HW menu handler to higher order fn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 16:06:14 +02:00
Thomas Lamprecht
163d9f17cb ui: lxc resources: refactor add menu handler
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 13:35:10 +02:00
Thomas Lamprecht
809f6b6ef5 ui: lxc resources: switch to vector based font awesome icons
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 11:20:54 +02:00
Thomas Lamprecht
02ecbc9817 ui: lxc resources: support font awesome icons directly
like we do for the VMs hardware view

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 10:44:03 +02:00
Thomas Lamprecht
9866f51e24 ui: icons: swap pci bitmap to svg
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-01 10:38:14 +02:00
Fabian Ebner
c53d5c5ec1 api: vzdump: extract config: add content type check
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-01 09:24:35 +02:00
Fabian Ebner
0782c03469 pveam: remove: add content type check
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-01 09:24:35 +02:00
Fabian Ebner
0bd224e56b api: vzdump: extract config: check for VM.Backup privilege
In preparation to have check_volume_access() always allow access for
users with Datastore.Allocate privilege. As to not automatically give
all such users permission to extract the config too.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-04-01 09:24:35 +02:00