pve-manager.git
11 days agoui: eslint: fix undefined check master
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>
12 days 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>
12 days 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>
12 days 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>
13 days 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>
13 days 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>
13 days 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>
13 days 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>
2 weeks 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: 534d1c0355737d767e8a8bfa9624c6cc01080a6e
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks agoapi: nodes: style/perlcritic fixes
Thomas Lamprecht [Wed, 31 Aug 2022 11:31:39 +0000 (13:31 +0200)]
api: nodes: style/perlcritic fixes

no semantic change intended

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 weeks agobump version to 7.2-8
Fabian Grünbichler [Tue, 6 Sep 2022 08:39:44 +0000 (10:39 +0200)]
bump version to 7.2-8

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
3 weeks agowww: subscription: add Signed/Offline status
Fabian Grünbichler [Thu, 30 Jun 2022 12:47:13 +0000 (14:47 +0200)]
www: subscription: add Signed/Offline status

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
3 weeks agopvesubscription: add 'set-offline-key' command
Fabian Grünbichler [Thu, 30 Jun 2022 12:46:42 +0000 (14:46 +0200)]
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>
3 weeks agosubscription: switch to Proxmox::RS::Subscription
Fabian Grünbichler [Thu, 30 Jun 2022 12:06:16 +0000 (14:06 +0200)]
subscription: switch to Proxmox::RS::Subscription

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 weeks agoui: improve form/MDevSelector
Dominik Csapak [Fri, 12 Aug 2022 09:29:51 +0000 (11:29 +0200)]
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>
7 weeks agoJobs: fix scheduling after updating job from a different node
Dominik Csapak [Fri, 15 Jul 2022 12:34:35 +0000 (14:34 +0200)]
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: 530b0a71 ("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>
8 weeks agonodes: include execute schema in docs
Fabian Grünbichler [Tue, 2 Aug 2022 12:44:38 +0000 (14:44 +0200)]
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>
8 weeks agoapi2: use JSONSchema to validate commands for "nodes/{node}/execute"
Stefan Sterz [Wed, 27 Jul 2022 14:56:12 +0000 (16:56 +0200)]
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>
8 weeks agofix: api2: add return type to nodes/{node}/execute endpoint
Stefan Sterz [Wed, 27 Jul 2022 14:56:11 +0000 (16:56 +0200)]
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>
8 weeks agopvesr: prepare local job: remove stale replicated volumes immediately
Fiona Ebner [Mon, 13 Jun 2022 10:29:55 +0000 (12:29 +0200)]
pvesr: prepare local job: remove stale replicated volumes immediately

Commit 0433b86df6dfdf1d64ee09322719a02a91690707 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>
8 weeks agopvesr: rename last_snapshots to local_snapshots
Fiona Ebner [Mon, 13 Jun 2022 10:29:54 +0000 (12:29 +0200)]
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>
2 months agoui: datacenter: use "Name" label for respective part of full rp
Thomas Lamprecht [Tue, 26 Jul 2022 10:00:41 +0000 (12:00 +0200)]
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>
2 months agoui: datacenter: rework webauthn settings UX
Thomas Lamprecht [Mon, 25 Jul 2022 14:48:29 +0000 (16:48 +0200)]
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>
2 months agoceph-after-pve-cluster: enable for ceph-volume, disable for ceph-disk
Aaron Lauterer [Mon, 18 Jul 2022 14:09:10 +0000 (16:09 +0200)]
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>
2 months agoapi: apt: switch to common Proxmox::RS::APT::Repositories package
Fabian Ebner [Fri, 8 Jul 2022 11:55:54 +0000 (13:55 +0200)]
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>
2 months agobump rust dependencies
Wolfgang Bumiller [Fri, 15 Jul 2022 10:36:45 +0000 (12:36 +0200)]
bump rust dependencies

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 months agoui: ct restore: put mountpoint-erasure note on new line
Thomas Lamprecht [Thu, 7 Jul 2022 08:08:02 +0000 (10:08 +0200)]
ui: ct restore: put mountpoint-erasure note on new line

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoui: restore: improve warning for restoring container with same ID
Fabian Ebner [Tue, 5 Jul 2022 08:52:39 +0000 (10:52 +0200)]
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>
2 months agobump version to 7.2-7
Thomas Lamprecht [Tue, 5 Jul 2022 06:52:52 +0000 (08:52 +0200)]
bump version to 7.2-7

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agopveceph install: clarify comment for conditional ceph-volume inclusion
Thomas Lamprecht [Tue, 5 Jul 2022 06:38:08 +0000 (08:38 +0200)]
pveceph install: clarify comment for conditional ceph-volume inclusion

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agopveceph install: exclude 'ceph-volume' from older than quincy releases
Stefan Sterz [Mon, 4 Jul 2022 15:45:17 +0000 (17:45 +0200)]
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>
2 months agobump version to 7.2-6
Thomas Lamprecht [Mon, 4 Jul 2022 11:32:01 +0000 (13:32 +0200)]
bump version to 7.2-6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoupdate shipped aplinfo
Thomas Lamprecht [Mon, 4 Jul 2022 11:31:23 +0000 (13:31 +0200)]
update shipped aplinfo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agopveceph: install split-out ceph-volume package
Thomas Lamprecht [Mon, 4 Jul 2022 11:30:51 +0000 (13:30 +0200)]
pveceph: install split-out ceph-volume package

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoui: manual backup: unescape notes template on load
Fabian Ebner [Mon, 27 Jun 2022 12:42:42 +0000 (14:42 +0200)]
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: 2a1f46ed ("ui: manual backup: also set notes-template default")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
3 months agoapl info: update index to current repository state
Thomas Lamprecht [Thu, 23 Jun 2022 14:09:19 +0000 (16:09 +0200)]
apl info: update index to current repository state

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agobump version to 7.2-5
Thomas Lamprecht [Tue, 21 Jun 2022 14:58:51 +0000 (16:58 +0200)]
bump version to 7.2-5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agopveceph: reuse supported ceph versions for non-default warning
Thomas Lamprecht [Tue, 21 Jun 2022 15:04:21 +0000 (17:04 +0200)]
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>
3 months agopveceph: factor out supported/default ceph version to single source
Thomas Lamprecht [Tue, 21 Jun 2022 15:04:02 +0000 (17:04 +0200)]
pveceph: factor out supported/default ceph version to single source

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agopveceph: warn on (soon) EOL octopus
Thomas Lamprecht [Tue, 21 Jun 2022 14:52:54 +0000 (16:52 +0200)]
pveceph: warn on (soon) EOL octopus

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoui: ceph: add quincy installation support
Thomas Lamprecht [Tue, 21 Jun 2022 14:52:35 +0000 (16:52 +0200)]
ui: ceph: add quincy installation support

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agopveceph: add quincy installation support
Thomas Lamprecht [Tue, 21 Jun 2022 14:52:25 +0000 (16:52 +0200)]
pveceph: add quincy installation support

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoui: dc/Backup: add 'repeat-missed' checkbox
Dominik Csapak [Mon, 13 Jun 2022 13:24:10 +0000 (15:24 +0200)]
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>
3 months agofix #4053: don't run vzdump jobs when they change from disabled->enabled
Dominik Csapak [Mon, 13 Jun 2022 13:24:09 +0000 (15:24 +0200)]
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>
3 months agofix #4026: add 'repeat-missed' option for jobs
Dominik Csapak [Mon, 13 Jun 2022 13:24:08 +0000 (15:24 +0200)]
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>
3 months agofix #4111: replication: don't send mail when fail count is zero
Fabian Ebner [Tue, 14 Jun 2022 09:47:32 +0000 (11:47 +0200)]
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: e6b8af20 ("replication: sent always mail for first three tries and move helper")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
3 months agofix #3961: pveam: error on 'list' if storage doesn't exist
Oguz Bektas [Mon, 13 Jun 2022 10:13:16 +0000 (12:13 +0200)]
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>
3 months agofix #3597: ui: ceph setup: avoid autofill of monitor network
Aaron Lauterer [Mon, 2 May 2022 14:05:05 +0000 (16:05 +0200)]
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>
3 months agoapi: ceph: mon: make checking for duplicate addresses more robust
Fabian Ebner [Fri, 4 Mar 2022 13:09:08 +0000 (14:09 +0100)]
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: 86ed64f9 ("api: ceph: mon: fix handling of IPv6 addresses in assert_mon_prerequisites")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
3 months agoreport: add ceph device list
Aaron Lauterer [Tue, 31 May 2022 12:44:30 +0000 (14:44 +0200)]
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>
4 months agoui: qemu disk edit: fix typo in view model variable name
Matthias Heiserer [Fri, 27 May 2022 11:48:06 +0000 (13:48 +0200)]
ui: qemu disk edit: fix typo in view model variable name

Worked before because we always set the correct one manually in the
view controllers init and scsi-controller change handler.

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
 [ T: added actual subject and reworded commit message ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agominor code style clenaup and comment wording
Thomas Lamprecht [Sat, 28 May 2022 07:12:21 +0000 (09:12 +0200)]
minor code style clenaup and comment wording

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agobump version to 7.2-4
Thomas Lamprecht [Thu, 12 May 2022 15:36:46 +0000 (17:36 +0200)]
bump version to 7.2-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoconfigs: vzdump: add notes-template default
Fabian Ebner [Mon, 9 May 2022 10:34:13 +0000 (12:34 +0200)]
configs: vzdump: add notes-template default

so users can see that it can be configured here.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agoui: manual backup: also set notes-template default
Fabian Ebner [Mon, 9 May 2022 10:34:12 +0000 (12:34 +0200)]
ui: manual backup: also set notes-template default

like is done for other vzdump options already.

Requested in the community forum:
https://forum.proxmox.com/threads/108970/#post-468655

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agovzdump: avoid 'requires' constraint when parsing defaults
Fabian Ebner [Mon, 9 May 2022 10:34:11 +0000 (12:34 +0200)]
vzdump: avoid 'requires' constraint when parsing defaults

to avoid warnings like
parse error in '/etc/vzdump.conf' - 'storage': missing property -
'notes-template' requires this property
when there is no default for the required property configured.

In new(), the defaults are mixed in with the regular CLI/API
parameters, so re-check if the required property is set. If it's not,
the defaults do not apply to the current run, and can be dropped.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agoui: manual backup: list possible template variables directly
Fabian Ebner [Mon, 9 May 2022 10:34:10 +0000 (12:34 +0200)]
ui: manual backup: list possible template variables directly

rather than as a tooltip.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agovzdump: generate notes: initialize potentially undef values
Fabian Ebner [Mon, 9 May 2022 10:34:09 +0000 (12:34 +0200)]
vzdump: generate notes: initialize potentially undef values

For VMs, $task->{hostname} might be undef and when running on a
stand-alone node, there is no cluster name.

Reported-by: Marco Gabriel <mgabriel@inett.de>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agovzdump: verify parameters: properly verify notes-template
Fabian Ebner [Mon, 9 May 2022 10:34:08 +0000 (12:34 +0200)]
vzdump: verify parameters: properly verify notes-template

instead of just checking for a newline, do a full check already.

Also do the check at the beginning of generate_notes() for consistency
and remove the check after expansion to avoid failing late for things
like '{{cl{{node}}er}}' (which can even expand to a valid variable
making the error even more confusing).

Co-developed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agoui: move new node options below hosts entry
Thomas Lamprecht [Thu, 12 May 2022 14:40:39 +0000 (16:40 +0200)]
ui: move new node options below hosts entry

avoid splitting the related DNS and Hosts settings in the middle

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agofix #3994: ui: add Options entry in the node System menu
Daniel Tschlatscher [Fri, 6 May 2022 12:39:10 +0000 (14:39 +0200)]
fix #3994: ui: add Options entry in the node System menu

Add the subentry "Options" in the "System" menu to expose some
options in the GUI which were not exposed before.

Added a new file for displaying and editing the node config options
which were not exposed through the GUI yet. Namely those are the
settings for wakeonlan and startall-on-boot-delay. Edited the
Makefile to include the newly created file.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
4 months agogui: VM Create wizard - display default scsi controller correctly
Daniel Tschlatscher [Thu, 12 May 2022 10:00:04 +0000 (12:00 +0200)]
gui: VM Create wizard - display default scsi controller correctly

Fixed a cosmetic issue where in the VM creation wizard the SCSI
controller would not be displayed correctly if the default value
"Default (LSI 53C895A)" was selected. In this case, "__default__"
would be printed for the user after progressing into the next "Disks"
pane.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
4 months agod/control: bump versioned dependency for libpve-storage-perl
Thomas Lamprecht [Thu, 12 May 2022 13:08:01 +0000 (15:08 +0200)]
d/control: bump versioned dependency for libpve-storage-perl

to ensure we can add and use namespaces for PBS storages

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoui: storage: add namespace support when creating PBS storage
Thomas Lamprecht [Thu, 12 May 2022 13:07:38 +0000 (15:07 +0200)]
ui: storage: add namespace support when creating PBS storage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agofix # 4044: ui: hd move: avoid bogus progress bar, show task viewer
Thomas Lamprecht [Wed, 11 May 2022 14:23:11 +0000 (16:23 +0200)]
fix # 4044: ui: hd move: avoid bogus progress bar, show task viewer

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agobump version to 7.2-3
Thomas Lamprecht [Wed, 4 May 2022 06:46:56 +0000 (08:46 +0200)]
bump version to 7.2-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agovzdump: fix unknown variable name error, add newline
Thomas Lamprecht [Wed, 4 May 2022 06:19:35 +0000 (08:19 +0200)]
vzdump: fix unknown variable name error, add newline

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agovzdump: notes-template: improve check for unknown variable
Fabian Ebner [Tue, 3 May 2022 11:17:59 +0000 (13:17 +0200)]
vzdump: notes-template: improve check for unknown variable

so that '{{foo}}{{bar}}' is not detected as being an unknown variable
named 'foo}}{{bar', but as 'foo' (and 'bar').

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agovzdump: notes-template: avoid escaping meta-characters upon replace
Fabian Ebner [Tue, 3 May 2022 11:17:58 +0000 (13:17 +0200)]
vzdump: notes-template: avoid escaping meta-characters upon replace

which is caused by the quoting operators \Q...\E. The actual intention
was to avoid such surprises.

Fixes: 413bb432 ("partially close #438: vzdump: support setting notes-template")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agoapi: ceph pool: reword ec desc full textwidth and reword slightly
Thomas Lamprecht [Wed, 4 May 2022 05:14:56 +0000 (07:14 +0200)]
api: ceph pool: reword ec desc full textwidth and reword slightly

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoceph pools create: enhance erasure-code description
Aaron Lauterer [Tue, 3 May 2022 11:58:08 +0000 (13:58 +0200)]
ceph pools create: enhance erasure-code description

Mention which optional parameters will be used for the replicated
metadata pool but won't have an effect on the erasure coded data pool.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
4 months agoceph pools create: remove crush_rule for ec pool data
Aaron Lauterer [Tue, 3 May 2022 11:58:07 +0000 (13:58 +0200)]
ceph pools create: remove crush_rule for ec pool data

The crush rule is an optional paramter which can be used for the
metadata pool, but the erasure coded data pool will always get its own
crush rule. Therefore this parameter can not be adapted.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
4 months agoschedule-analyze: fix schedules with limited runs
Dominik Csapak [Tue, 3 May 2022 14:10:25 +0000 (16:10 +0200)]
schedule-analyze: fix schedules with limited runs

When a schedule only has a limited amount of runs it can happen
(e.g. 2022-10-01 8:00/30), $next will be undef after the last run.
Exit early in that case.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 months agoupdate aplinfo
Thomas Lamprecht [Tue, 3 May 2022 05:23:22 +0000 (07:23 +0200)]
update aplinfo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agobump version to 7.2-2
Thomas Lamprecht [Mon, 2 May 2022 15:33:40 +0000 (17:33 +0200)]
bump version to 7.2-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoui: disk reassign: remove unused reference and bind
Matthias Heiserer [Mon, 2 May 2022 14:24:23 +0000 (16:24 +0200)]
ui: disk reassign: remove unused reference and bind

They are not used anywhere else, so I assume they were left over from
an earlier version.
Also, sometimes "[object object] flashes in the Target Guest field
when opening the reassign window, with this removed it doesn't occur.

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
4 months agoui: snapshot tree: warn that current state is lost when confirming rollback
Fabian Ebner [Mon, 2 May 2022 12:21:53 +0000 (14:21 +0200)]
ui: snapshot tree: warn that current state is lost when confirming rollback

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 months agoui: ceph pools: add pool type column
Aaron Lauterer [Mon, 2 May 2022 08:09:28 +0000 (10:09 +0200)]
ui: ceph pools: add pool type column

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
4 months agoui: ceph pool edit: disable size and crush rule for erasure pools
Aaron Lauterer [Mon, 2 May 2022 08:09:27 +0000 (10:09 +0200)]
ui: ceph pool edit: disable size and crush rule for erasure pools

They cannot be changed after pool creation for erasure coded pools

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
4 months agoapi: ceph pools: add type to returned properties
Aaron Lauterer [Mon, 2 May 2022 12:36:24 +0000 (14:36 +0200)]
api: ceph pools: add type to returned properties

The osd dump already contains the pool type in numerical format.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
4 months agoceph tools: set_pools: filter settings for erasure code pools
Aaron Lauterer [Mon, 2 May 2022 08:09:25 +0000 (10:09 +0200)]
ceph tools: set_pools: filter settings for erasure code pools

Erasure code pools cannot change certain settings after creation.
Trying to set them will cause errors on Cephs side.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
4 months agoui: realm sync: let users set 'remove vanished options' independently
Dominik Csapak [Mon, 2 May 2022 13:15:20 +0000 (15:15 +0200)]
ui: realm sync: let users set 'remove vanished options' independently

and label it correctly. The 'Properties' option was mislabeled,
it means 'remove vanished fields from synced users', not 'remove
fields from vanished users'.

So don't couple that with the 'Entries' option, and update the label
to convey the right meaning.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 months agoui: storage content: support filtering by notes for backups
Thomas Lamprecht [Mon, 2 May 2022 13:26:21 +0000 (15:26 +0200)]
ui: storage content: support filtering by notes for backups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agod/copyright: update years
Thomas Lamprecht [Fri, 29 Apr 2022 12:35:45 +0000 (14:35 +0200)]
d/copyright: update years

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agobump version to 7.2-1
Thomas Lamprecht [Fri, 29 Apr 2022 12:29:33 +0000 (14:29 +0200)]
bump version to 7.2-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoapi: ceph: fix description indentation style
Thomas Lamprecht [Fri, 29 Apr 2022 12:28:12 +0000 (14:28 +0200)]
api: ceph: fix description indentation style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoapi: followup: code locality
Thomas Lamprecht [Fri, 29 Apr 2022 12:26:32 +0000 (14:26 +0200)]
api: followup: code locality

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoapi: ceph ec pools: make add_storages overridable default
Aaron Lauterer [Fri, 29 Apr 2022 09:28:59 +0000 (11:28 +0200)]
api: ceph ec pools: make add_storages overridable default

The behavior of always adding the storage config was lost in commit
e039e85. But it is more sensible to make it a default that can be
changed if needed.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>