Commit Graph

5123 Commits

Author SHA1 Message Date
Stefan Reiter
1cc7c672b7 ui: improve boot order editor
The new boot order property can express many more scenarios than the old
one. Update the editor so it can handle it.

Features a grid with all supported boot devices which can be reordered
using drag-and-drop, as well as toggled on and off with an inline
checkbox.

Support for configs still using the old format is given, with the first
write automatically updating the VM config to use the new one.

The renderer for the Options panel is updated with support for the new
format.

Note that it is very well possible to disable all boot devices, in which
case an empty 'boot: ' will be stored to the config file. I'm not sure
what that would be useful for, but there's no reason to forbid it
either, just warn the user that it's probably not what they want.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-10-14 12:31:14 +02:00
Aaron Lauterer
659a335026 ui: FirewallRules.js: fix #3049 wider rule number column
Allows 2 digits rule numbers to be visible in the column. Made it a bit
wider than needed to account for potentially wider font rendering on
different platforms.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-10-01 16:35:26 +02:00
Fabian Ebner
f354fe47fc Always use prune-backups instead of maxfiles internally
For the use case with '--dumpdir', it's not possible to call prune_backups
directly, so a little bit of special handling is required there.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-09-30 10:56:30 +02:00
Fabian Ebner
e6946086e3 Allow prune-backups as an alternative to maxfiles
and make the two options mutally exclusive as long
as they are specified on the same level (e.g. both
from the storage configuration). Otherwise prefer
option > storage config > default (only maxfiles has a default currently).

Defines the backup limit for prune-backups as the sum of all
keep-values.

There is no perfect way to determine whether a
new backup would trigger a removal with prune later:
1. we would need a way to include the not yet existing backup
   in a 'prune --dry-run' check.
2. even if we had that check, if it's executed right before
   a full hour, and the actual backup happens after the full
   hour, the information from the check is not correct.

So in some cases, we allow backup jobs with remove=0, that
will lead to a removal when the next prune is executed.
Still, the job with remove=0 does not execute a prune, so:
1. There is a well-defined limit.
2. A job with remove=0 never removes an old backup.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-09-30 10:56:30 +02:00
Thomas Lamprecht
5c51bb267c d/control: bump versioned dependency of libpve-guest-common-perl
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-09-30 09:56:12 +02:00
Dominic Jäger
dc6e0a523a vzdump: Fix typo in UPID error message
Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-09-29 11:09:38 +02:00
Dominik Csapak
ac27dd3269 ui: fix unchecking 'Filter VMID'
if the checkbox is not checked, we set the value of the vmid filter to ''
but left 'exactMatch' enabled, which means we filter all out where
the vmid is not ''

what we instead want is to remove also the exactMatch so that we
get *all* entries back not *none*

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-09-25 09:06:43 +02:00
Fabian Grünbichler
8f8073cb2e tasks: allow API tokens to query their own UPIDs
and regular users to read all their own tasks as well as those of their
associated tokens.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-09-23 15:12:31 +02:00
Dominik Csapak
c84c5c9ad7 ui: qemu/AgentIPView: also filter out 0:0:0:0:0:0
it seems that some guest-agents format an non-existant mac adress
differently (e.g. macos, see [0]) so filter that also out

0: https://forum.proxmox.com/threads/macos-vm-optischer-makel.76263/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-09-23 15:09:58 +02:00
Thomas Lamprecht
76fa1b432a ui: pbs: allow empty fingerprint
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-09-23 15:09:46 +02:00
Fabian Grünbichler
3af4496551 bump version to 6.2-12
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-09-21 11:28:37 +02:00
Oguz Bektas
641da26d54 lxc: increase limit of max cores from 128 to 8192
to match the recently change in the container backend

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-09-15 11:24:26 +02:00
Thomas Lamprecht
168f1f8004 d/control: update versioned dependency for pve-common
ensuring we have the new behavior of sendmail regarding empty from
available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-09-07 10:06:57 +02:00
Stoiko Ivanov
d49b703723 use PVE::Tools::sendmail for update notifications
instead of calling /usr/sbin/sendmail directly.

Tested with:
```
echo "[]" > /var/lib/pve-manager/pkgupdates
pvesh create /nodes/rosa/apt/update --notify 1

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-09-07 09:42:24 +02:00
Dominik Csapak
fe1dd5bbbf ui: dc/Backup: disable pveCompressionSelector for pbs storages
like in window/Backup

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-09-03 18:04:25 +02:00
Fabian Ebner
8e262f397d ContentView: block removal of in-use container image
Since commit 5dae1a319b32ea3ebbb0b48a9f0b5e3abd1833c9 in pve-storage,
list_volumes correctly returns content type 'rootdir' for container images.
Adapt the relevant check here to make removal behave like it does
for VM images again.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-08-28 10:25:12 +02:00
Stephan Leemburg
e08f07de20 Bump maximum number of container net interfaces from 10 to 32
Signed-off-by: Stephan Leemburg <stephan.leemburg@it-functions.nl>
2020-08-27 12:58:16 +02:00
Thomas Lamprecht
6f5c3b98ac pveversion: track proxmox-backup-client
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-21 13:31:24 +02:00
Fabian Ebner
de2d177ec6 make use of archive_info and archive_remove
to avoid some code duplication.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-08-20 17:41:04 +02:00
Thomas Lamprecht
09575ae8f6 replication: followup: include guest node in error message
tell the user what check actually failed..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-20 13:48:53 +02:00
Fabian Grünbichler
b88b01008b replication: check for source == target on job creation
and die.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-20 13:47:21 +02:00
Fabian Grünbichler
10257794f2 replication: target is a required parameter
no need to check for definedness

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-20 13:47:21 +02:00
Fabian Grünbichler
ef3fde16e2 replication: refactor source checks on job creation
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-20 13:47:21 +02:00
Thomas Lamprecht
1e67b44463 api: ACME revoke: do not abort if CA is just expired
Else, a user would need to renew it first before being able to revoke
it, which does not make much sense..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-19 18:52:48 +02:00
Thomas Lamprecht
25beb9038c api: ACME renew: handle error from revoking old cert gracefully
this normally just means that the old cert is already expired, we do
not care for that - after all: we got a new (renewed) valid cert
successfully.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-19 18:49:20 +02:00
Thomas Lamprecht
34b53ccc82 ui: fix PBS edit typos
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-19 15:48:51 +02:00
Thomas Lamprecht
d3d1e19912 ui: fixup gettext quoting
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-18 18:27:43 +02:00
Fabian Grünbichler
6a545c326c test: fix mail_test for non-root user
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-13 12:54:51 +02:00
Fabian Ebner
9671488c5d Set source when creating a new replication job
If source is missing, pvesr will set it via job_status
on the next run. But the info is already present here,
so it doesn't hurt to use it.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-08-11 13:54:21 +02:00
Dominik Csapak
496eb1ccdf ui: filter on exact vmid
so that backups of vmid 1000 do not show up on vm 100 with 'filte vmid'
enabled

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-08-11 13:48:19 +02:00
Aaron Lauterer
eb0021502a backup: fix #2913 order jobs numerically by VMID
At this point, the VMIDs are already numerically sorted by the
PVE::VZDump::check_vmids method. Calling another sort on the array,
especially without `{$a <=> $b}`, resulted in reordering the array
alphabetically.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-08-11 13:48:19 +02:00
Fabian Grünbichler
01fc36722d vzdump: use configured tmpdir for PBS
instead of always using the default hard-coded one.

otherwise, suspend mode container backups might run out of space even though the admin configured a big enough tmpdir.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-06 16:03:05 +02:00
Hannes Laimer
648696b50b ui: Close #2908: fixed password validator for adding PBS as storage
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
2020-08-03 08:08:08 +02:00
Fabian Grünbichler
e7083f9ae6 fix #2890: also detect & renew DNS-only ACME certs
this call site was apparently missed when we refactored the node config
/ ACME interaction.

Suggested/Reported-by: Frédéric Bourqui
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-07-27 10:53:32 +02:00
Thomas Lamprecht
32364f74e6 bump version to 6.2-11
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 19:31:31 +02:00
Thomas Lamprecht
f3d7d0023c followup: use true as inputValue
and normalize original value comparison, just to be sure.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 19:31:31 +02:00
Thomas Lamprecht
303dc33fde ui: Proxmox Backup: allow to autogenerate an encryption key
a bit more complicated than wished, but if we want to have at least a
bsaic OK user experience we need to give good feedback that the key
will be deleted.

We definitively want to extend this, allow uploading their own,
export if root@pam, only move not delete on "removal", for safety.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 19:17:50 +02:00
Thomas Lamprecht
d49b51285c ui: node/services: use safer reload as restart command
avoids service interruptions

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 15:24:02 +02:00
Thomas Lamprecht
3cd0759af0 api/services: fallback to restart in reload
And document that it is preferred

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 15:24:02 +02:00
Thomas Lamprecht
d438bb3e67 api/services: improve essential service check, allow reload and start
reload is actually preferred, and even if most of the time this even
won't reach the API, allowing to start them is still definitively
fine!

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 15:24:02 +02:00
Thomas Lamprecht
05d5632db2 api/services: whitespace cleanup, modern closure call
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 15:24:02 +02:00
Thomas Lamprecht
e51cd02b5c ui: node: eslint and style fixes
xtype must be the first definition

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-24 15:24:02 +02:00
Alwin Antreich
2184098ed3 Allow setting device class on osd create
In some situations Ceph's auto-detection doesn't recognize the device
class correctly. The option allows to set it directly on osd create,
instead of altering it afterwards. This way the cluster doesn't need to
shift data back and forth unnecessarily.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-07-24 10:26:11 +02:00
Thomas Lamprecht
497c94f236 ui: running chart: assign getTime directly
no sense in doing it everywhere the Date variables are used, if it's
the only  thing we do on them.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-22 10:35:07 +02:00
Thomas Lamprecht
ca0267fdca ui: ceph status/running chart: disable trackRemoved
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-22 10:30:51 +02:00
Thomas Lamprecht
e75392ceb3 ui: running chart: avoid breakage if tooltip was on deleted record
if we cleanup records and there was a "stale" tooltip on one of them
we get an access on undefined value exception here

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-22 10:29:06 +02:00
Thomas Lamprecht
eb7f91977b ui: comment length cleanup to improve readability
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-22 10:27:45 +02:00
Thomas Lamprecht
e767e1ec9c ui: ceph status: note that its recovery/rebalance#
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-21 19:49:52 +02:00
Dominik Csapak
6228111597 ui: add ceph recovery graph and progressbar
shows a runningChart (like for reads) for the recovery speed
also shows a progressbar of the health percentage of the cluster
with an estimate of how long the recovery might need
(unhealthy objects) / (objects per second)

only show them when a recovery is ongoing or there are unhealthy
objects

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-07-21 16:30:43 +02:00
Thomas Lamprecht
6d06f4f8ec buildsys: www/manager: all target needs to be first one
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-20 16:34:31 +02:00