6456 Commits

Author SHA1 Message Date
Stoiko Ivanov
ef09450c1d 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>
2022-09-12 16:04:18 +02:00
Fabian Grünbichler
ccc9fc7cb0 d/control: recommend proxmox-offline-mirror-helper
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-12 10:55:13 +02:00
Fabian Grünbichler
18145e3f2a bump version to 7.2-10
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-12 09:15:59 +02:00
Fabian Grünbichler
774c5031b4 pvesubscription: remove leftover $key
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-09 15:06:26 +02:00
Thomas Lamprecht
a058076de4 bump version to 7.2-9
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-08 14:57:32 +02:00
Aaron Lauterer
219293bd1d ui: CephInstall: fix a/an typo
and switch to template string

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2022-09-07 15:25:09 +02:00
Aaron Lauterer
f25c38553e 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>
2022-09-07 15:25:09 +02:00
Fabian Grünbichler
25eaf729d7 subscription: handle missing subscription info
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-07 14:50:32 +02:00
Thomas Lamprecht
dbfcac27d5 api: nodes: code/style rework start/stop list generation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-07 09:47:48 +02:00
Thomas Lamprecht
79d6202636 api: nodes: style/perlcritic fixes
no semantic change intended

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-09-07 09:47:48 +02:00
Fabian Grünbichler
d35b9e6b13 bump version to 7.2-8
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-06 11:02:59 +02:00
Fabian Grünbichler
dc17baee74 www: subscription: add Signed/Offline status
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-06 11:02:59 +02:00
Fabian Grünbichler
d4df1b145c pvesubscription: add 'set-offline-key' command
and disallow updating signed offline keys via regular check/update code
path.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-06 11:02:59 +02:00
Fabian Grünbichler
d017de1f91 subscription: switch to Proxmox::RS::Subscription
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-06 11:02:59 +02:00
Dominik Csapak
9c020707a0 ui: improve form/MDevSelector
by
* showing the (optional) name in front of the type
* making the 'availble' column a bit narrower
* enabling 'cellWrap' for the description
* making the dropdown a bit wider (so all the information can fit)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-08-12 14:04:49 +02:00
Dominik Csapak
2cf7706e3d Jobs: fix scheduling after updating job from a different node
since the jobs are configured clusterwide in pmxcfs, a user can use any
node to update the config of them. for some configs (schedule/enabled)
we need to update the last runtime in the state file, but this
is sadly only node-local.

to also update the state file on the other nodes, we introduce
a new 'detect_changed_runtime_props' function that checks and saves relevant
properties from the config to the statefile each round of the scheduler if they
changed.

this way, we can detect changes in those and update the last runtime too.

the only situation where we don't detect a config change is when the
user changes back to the previous configuration in between iterations.
This can be ignored though, since it would not be scheduled then
anyway.

in 'synchronize_job_states_with_config' we switch from reading the
jobstate unconditionally to check the existance of the statefile
(which is the only condition that can return undef anyway)
so that we don't read the file multiple times each round.

Fixes: 0c8d7468 ("fix #4053: don't run vzdump jobs when they change from
disabled->enabled")

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
2022-08-05 13:08:08 +02:00
Fabian Grünbichler
9018237e24 nodes: include execute schema in docs
by extracting the JSON-encoded-string schema and dumping it into the
verbose description it at least shows up in the API viewer.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-08-02 14:44:38 +02:00
Stefan Sterz
a1de441096 api2: use JSONSchema to validate commands for "nodes/{node}/execute"
this also makes it more explicit what the different values should be

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
2022-08-02 14:14:02 +02:00
Stefan Sterz
72db67a2b6 fix: api2: add return type to nodes/{node}/execute endpoint
since this was missing a proper return type definition the api viewer
couldn't display the endpoint (`retinfs.items` was undefined). also
the `pvesh` command would complain that it cannot properly format the
return type because the variable `$item_type` in `CLIFormatter.pm` was
not defined.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
2022-08-02 14:14:02 +02:00
Fiona Ebner
55b1af44fd pvesr: prepare local job: remove stale replicated volumes immediately
Commit d8cd8e8cf9795dc9c2462a67e9ef89ad31759796 introduced a
regression where only stale replicated volumes with an older
timestamp would be cleaned up. This meant that after removing a volume
from the guest config, it would only be cleaned up the second time the
replication ran afterwards. And the volume could become completely
orphaned in case the relevant storage wasn't used by the job anymore.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2022-08-02 11:05:06 +02:00
Fiona Ebner
e3e0e09637 pvesr: rename last_snapshots to local_snapshots
while dropping the instance where the local variable was unused.
prepare() was changed a while ago to return all local snapshots.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2022-08-02 11:04:55 +02:00
Thomas Lamprecht
bad1742cef ui: datacenter: use "Name" label for respective part of full rp
as contrary to the property name this is actually only the rather
irrelevant part (auth wise) of the whole relying party, the ID is the
other part, and that one actually matters.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-26 12:00:45 +02:00
Thomas Lamprecht
727b64aec3 ui: datacenter: rework webauthn settings UX
Make origin optional, as it actually is, and its not covered by the
challenge anyway.

Also, not the thing we name rp, but the ID is important for the
validity of existing webauthn records, this error comes from the
confusing use of the same named thing in different ways by browsers,
us and the webauthn rust crate...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-25 16:48:32 +02:00
Aaron Lauterer
5d339c2562 ceph-after-pve-cluster: enable for ceph-volume, disable for ceph-disk
The ceph-disk service seems to have been removed with octopus (v15) and
we did not yet have them for ceph-volume which could lead to some
startup issues in cases where the pve-cluster service did not start fast
enough.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2022-07-19 17:21:18 +02:00
Fabian Ebner
9c7674227f api: apt: switch to common Proxmox::RS::APT::Repositories package
which is shared between PVE and PMG.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-07-15 12:36:50 +02:00
Wolfgang Bumiller
8a229545b2 bump rust dependencies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-15 12:36:50 +02:00
Thomas Lamprecht
a707bed6dd ui: ct restore: put mountpoint-erasure note on new line
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-07 10:08:02 +02:00
Fabian Ebner
5f855ccf27 ui: restore: improve warning for restoring container with same ID
It's not clear to users that the "VM data" includes mount point
volumes including those that are not marked for backup. This is
different from VM restore, where volumes attached at drives not
present in the backup will be kept around as unused volumes.

Several (supposedly newer) users got tripped up by this over the
years, the latest report being [0]. The long term plan is to make the
restore dialog more flexible to be able to select actions for disks
individually, but that will take a bit of time. In the mean time, make
the warning more explicit.

[0]: https://forum.proxmox.com/threads/111760/#post-482045

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-07-07 10:03:39 +02:00
Thomas Lamprecht
ef336a1fe2 bump version to 7.2-7
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-05 08:52:52 +02:00
Thomas Lamprecht
b23305d5ad pveceph install: clarify comment for conditional ceph-volume inclusion
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-05 08:38:51 +02:00
Stefan Sterz
3409fbeaff pveceph install: exclude 'ceph-volume' from older than quincy releases
when installing non-quincy versions, 'ceph-volume' is not contained in
the respective repositories and, thus, the install process would fail.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
 [ T: reworded commit subject ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-05 08:19:28 +02:00
Thomas Lamprecht
8e3d93725c bump version to 7.2-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-04 13:32:01 +02:00
Thomas Lamprecht
5d66fe995d update shipped aplinfo
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-04 13:31:23 +02:00
Thomas Lamprecht
2812907f23 pveceph: install split-out ceph-volume package
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-07-04 13:30:51 +02:00
Fabian Ebner
6a3052b299 ui: manual backup: unescape notes template on load
It's escaped in the API result and will be re-escaped upon submit,
leading to confusion as reported in the community forum:
https://forum.proxmox.com/threads/110747/post-480507

Fixes: c4dca88b ("ui: manual backup: also set notes-template default")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-06-28 16:10:13 +02:00
Thomas Lamprecht
b18735f4bd apl info: update index to current repository state
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-23 16:09:19 +02:00
Thomas Lamprecht
8f7a609ccf bump version to 7.2-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-21 17:04:49 +02:00
Thomas Lamprecht
7271e6f67d pveceph: reuse supported ceph versions for non-default warning
albeit this is a bit odd safety "check" anyway

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-21 17:04:49 +02:00
Thomas Lamprecht
983921b9a1 pveceph: factor out supported/default ceph version to single source
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-21 17:04:49 +02:00
Thomas Lamprecht
ef25743f04 pveceph: warn on (soon) EOL octopus
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-21 16:52:54 +02:00
Thomas Lamprecht
719e95c9a6 ui: ceph: add quincy installation support
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-21 16:52:35 +02:00
Thomas Lamprecht
9e81f36459 pveceph: add quincy installation support
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-21 16:52:25 +02:00
Dominik Csapak
9cd2e6382c ui: dc/Backup: add 'repeat-missed' checkbox
so that the users can configure how to handle missed job runs
move the vmgrid inside the ipanel in 'columnB', so that the
advanced items show below the vmgrid (not above)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-06-17 17:21:56 +02:00
Dominik Csapak
0c8d746815 fix #4053: don't run vzdump jobs when they change from disabled->enabled
by updating the timestamp in the job state when enabled is changing
from 0 -> 1. We do it this way too in PBS for example, and is the more
sensible behaviour.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-06-17 17:21:56 +02:00
Dominik Csapak
c61c192e17 fix #4026: add 'repeat-missed' option for jobs
like systemd-timers 'persistent'. so that the user can configure it to not be
run after powering up when it was previously missed

this reverses the default behaviour to not run missed jobs after pvescheduler
was started, since most of the time that's not the desired behaviour

since we don't use it for updated schedules anymore, rename
'updated_job_schedule' to 'update_last_runtime'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
2022-06-17 17:21:56 +02:00
Fabian Ebner
b70458b6dd fix #4111: replication: don't send mail when fail count is zero
which can happen when failing to obtain the guest's migration lock.
This led to a lot of mails being sent during migration (timeout for
obtaining lock is only 2 seconds and we run it in a loop).

One could argue that obtaining the lock should increase the fail
count, but without the lock, the job state should not be touched and
even the first three mails upon migration could be considered spam.

Fixes: fa4bb659 ("replication: sent always mail for first three tries and move helper")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-06-17 17:20:06 +02:00
Oguz Bektas
61a687ac13 fix #3961: pveam: error on 'list' if storage doesn't exist
storage_check_enabled() already dies with an appropriate error message
so we don't have to handle it here

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2022-06-14 10:12:35 +02:00
Aaron Lauterer
5f7f0095cb fix #3597: ui: ceph setup: avoid autofill of monitor network
By not auto filling the Ceph public network we can avoid accidental
clicks on 'Next' which will cause the first Mon to be created with a
potentially wrong network. While that is fixable, it is tedious and
can be easily avoided by making the user always select the network to
use.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Tested-by: Stefan Hrdlicka<s.hrdlicka@proxmox.com>
 [ T: adapted commit subject to be more specific and match our common
   style ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-08 09:02:07 +02:00
Fabian Ebner
e6f55a13b0 api: ceph: mon: make checking for duplicate addresses more robust
Because $mon->{addr} might come with a port attached (affects monitors
created with PVE 5.4 as reported in the community forum [0]), or even
be a hostname (according to the code in Ceph/Services.pm). Although
the latter shouldn't happen for configurations created by PVE.

[0]: https://forum.proxmox.com/threads/105904/

Fixes: 9e989449 ("api: ceph: mon: fix handling of IPv6 addresses in assert_mon_prerequisites")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-06-08 08:49:34 +02:00
Aaron Lauterer
ea4d55c99d report: add ceph device list
Can help a lot to identify which OSD is using which physical disk

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2022-06-02 09:09:58 +02:00