Commit Graph

5868 Commits

Author SHA1 Message Date
Thomas Lamprecht
7595a49e65 d/control: bump doc-gen b-dep and storage dep versions
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-23 23:02:25 +02:00
Thomas Lamprecht
ffeb4f57e6 ui: storages: add basic BTRFS edit/add window
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-23 22:59:29 +02:00
Thomas Lamprecht
6e3ca3d351 d/postinst: setup pvetest repo for beta
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-23 22:25:09 +02:00
Thomas Lamprecht
383b901ab5 ceph: move bullseye repos over to official ones
before it gets forgotten..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-23 20:47:27 +02:00
Thomas Lamprecht
42a8a0b40c ui: user: show user-removal as dangerous
While one can re-add a user quite easily, the ACLs and the old
password may still be lost, so not really just like a simple "undo".

That's why it should show the warning triangle and have no selected
as default.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-23 11:34:21 +02:00
Fabian Grünbichler
c690885959 postinst: set custom LVM settings
now that we no longer ship our own LVM packages, set the relevant
filtering options here if they are missing.

for an upgrade from PVE 6.x, the following two scenarios are likely:

A: user edited config provided by our old lvm2 package. it likely
contains our (or a modified) global_filter, but the old scan_lvs
default. in this case we ignore global_filter as long as it contains our
'don't scan zvols' entry, and set scan_lvs to false.

B: config provided by our old lvm2 package was taken over by default
config from stock lvm2 package. scan_lvs defaults to false already, but
global_filter is unset (scan everything), so we need to set our own
global_filter excluding zvols.

other combinations should be handled fine as well.

for new installs (installer, install on top of Debian Bullseye) we are
always in scenario B.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-06-23 11:06:22 +02:00
Thomas Lamprecht
48197df2b9 api: services: also track systemd-journald, as syslog is not often there anymore
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-22 18:14:12 +02:00
Thomas Lamprecht
3546270cbc api: services: return more information
we have lots of information already parsed and cached, use that and
give the frontend more to work with/display.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-22 18:13:29 +02:00
Thomas Lamprecht
891ea8e805 d/postinst: fix comment regarding removal time of machine-id fixup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-22 17:25:19 +02:00
Fabian Grünbichler
bf51be9965 postinst: remove outdated calls
any system upgrading to 7.x was either installed with >= 6.4 in the
first place, or upgraded to >= 6.4 and thus fixed those issues already.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-06-22 17:25:16 +02:00
Thomas Lamprecht
5fb7a28a78 d/postinst: handle static machine-id from 4.0 <= x <= 5.4
We could also just check the mtime of the machine-id as heuristic,
but extracting the machine-ids from our ISO archive was pretty
straight forward and avoids special handling for from Debian
installed systems, so use that.

The full map:

pve 4.0-62414ad6-11          -> "2ec24eda629a4c8d8c1f8dac50a9ee5f"
pve 4.1-a64d2990-21          -> "bd94244c0da6419a82a383e62dc03b51"
pve 4.2-95d93422-28          -> "45d4e7046c3d4c26af8acd589f358ac6"
pve 4.3-29d03d47-2           -> "8c445f96b3064ff79f825ea78a3eefde"
pve 4.4-f4006904-1           -> "6f9fae0f0a794fd4b89b3abecfd7f182"
pve 4.4-f4006904-2           -> "6f9fae0f0a794fd4b89b3abecfd7f182"
pve 5.0-786da0da-1           -> "285de85759894b3f9ad9844a89045af6"
pve 5.0-786da0da-2           -> "89971dede7b04c98b2b0bc8845f53320"
pve 5.0-20170505-test        -> "4e3b6e9550f24d638bc26211a7b37df5"
pve 5.0-ad98a36-5            -> "bc2f684e31ee4daf95e45c62410a95b1"
pve 5.0-d136f4ad-3           -> "8cc7bc883fd048b78a4af7433c48e341"
pve 5.0-9795f744-4           -> "9b46d99712854566bb02a656a3ff9191"
pve 5.0-22d7548f-1           -> "e7fc055af47048ee884dcb88a7474336"
pve 5.0-273a9671-1           -> "13d879f75e6447a69ed85179bd93759a"
pve 5.1-2                    -> "5b59e448c3e74029af2ac91f572d68a7"
pve 5.1-3                    -> "5a2bd0d11a6c41f9a33fd527751224ea"
pve 5.1-cfaf62cd-1           -> "516afc72013c4b9da85b309aad987df2"
pve 5.1-test-20171019-1      -> "b0ce8d24684845e8ac337c588a7715cb"
pve 5.1-test-20171218        -> "e0af064c16e9463e9fa980eac66427c1"
pve 5.2-1                    -> "6e925d11b497446e8e7f2ff38e7cf891"
pve 5.3-1                    -> "eec280213051474d8bfe7e089a86744a"
pve 5.3-2                    -> "708ded6ee82a46c08b77fecda2284c6c"
pve 5.3-preview-20181123-1   -> "615cb2b78b2240289fef74da610c146f"
pve 5.4-1                    -> "b965b329a7e246d5be66a8d367f5760d"
pve 6.0-1                    -> "5472a49c6436426fbebd7881f7b7f13b"

The 6.0 one should never trigger as there we had the fix already out,
but it may be that some internal installation missed that and it
doesn't hurt to check, so include it.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-22 12:57:57 +02:00
Aaron Lauterer
48129c7bed ui: dc: backup: fix job detail search
'for...in array' returns the id in the array but not the value,
'for...of array' returns the values.

Another issue that I ran into was if the property did not exist.

Checking if the property evaluates to false will catch situations where
the property does not exist or is null. All other situations where there
is a value for the name, id or type, should evaluate to true if present
as they are strings or the VMID.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2021-06-22 11:50:48 +02:00
Thomas Lamprecht
0168075b9d pve6to7: make content-type check output an actual list
As else it gets rather confusing when one has more than one or two
such images.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 17:12:12 +02:00
Fabian Ebner
d12bbda5c5 pve6to7: check for misconfigured content type 'none'
which will be a hard error (i.e. section will be skipped when parsing) in PVE
7.0

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-21 16:50:51 +02:00
Fabian Ebner
6f361f8064 pve6to7: add check for guest images on misconfigured storages
migration and (container) startup will no longer work when the storage's content
type is not correct, and unreferenced volumes on such storages will not be
scanned for anymore.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-21 16:50:51 +02:00
Thomas Lamprecht
5bbe58a5bd ui: notes editor: increase edit window size from 600x400 to 800x600
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 16:50:11 +02:00
Thomas Lamprecht
6d9807b68e api: services: whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 16:29:32 +02:00
Thomas Lamprecht
3a000e1193 api: services: track chrony
Keep systemd-timesync for now, old installations may have it around
for a while.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 16:28:40 +02:00
Thomas Lamprecht
5fa0c20483 api: services: code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 16:25:27 +02:00
Lorenz Stechauner
6b3e760581 ui: add HashAlgorithmSelector
Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
2021-06-21 11:25:58 +02:00
Thomas Lamprecht
42d480223b ui: user view: rework to slightly more modern & code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 10:19:44 +02:00
Thomas Lamprecht
3fb2078a89 bump version to 7.0-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 19:33:59 +02:00
Thomas Lamprecht
236b33e2b2 ui: notes view: render node and guest notes as Markdown
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 19:24:39 +02:00
Thomas Lamprecht
a78362cf06 ui: notes edit: set maxLength on text area
the backend will have actual explicit length limits on the
description properties (was limited indirectly through PUT/POST
request size limit of 64 KiB), so convey that limit also in the GUI.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 19:23:15 +02:00
Thomas Lamprecht
dbf3563fdf ui: notes view: code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 19:22:28 +02:00
Thomas Lamprecht
0d213945f1 api: nodes: simplify appliance list code
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 18:57:30 +02:00
Thomas Lamprecht
aee25c2ed1 api: nodes: simplify appliance download code
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 18:57:23 +02:00
Thomas Lamprecht
c3020cf230 api: nodes: fix re-defined rpcenv/user variables regression
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 18:40:34 +02:00
Lorenz Stechauner
fac5d57e5b api: nodes: refactor aplinfo to use common download function
a common function to download arbitrary files from urls has been
defined as PVE::Tools::download_file_from_url and is now used.

Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
2021-06-18 18:36:06 +02:00
Thomas Lamprecht
337f7f9eeb d/control: bump versioned dependency for libpve-common-perl
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 18:35:26 +02:00
Dominik Csapak
b235a53821 fix #3470: ui: qemu/CmdMenu: fix confirm message for 'pause' cmd
while the command itself is 'suspend', the task description
is 'qmpause', so simply add a parameter and overwrite it for the pause
menu item

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-18 17:21:52 +02:00
Dominik Csapak
7748b41fa1 ui: ceph/Pools: defuse min_size warning
we should not warn for ceph's built-in default value for min_size as
having the min_size half of the size (rounded up) is ok and even the
default for ceph

Since there seems to be no 'quorum based' pg inconsistency recovery[0],
only a copy from the authoritative osd, there is nothing wrong
with setting that.

0: https://docs.ceph.com/en/latest/rados/operations/pg-repair/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 17:18:02 +02:00
Alwin Antreich
0b6a283801 fix #2422: allow multiple Ceph public networks
Multiple public networks can be defined in the ceph.conf. The networks need to
be routed to each other.

Support handling multiple IPs for a single monitor. By default, one address from
each public network is selected for monitor creation, but, as before, it can be
overwritten with the mon-address parameter, now taking a list of addresses.

On removal, make sure the all addresses are removed from the mon_host entry in
the ceph configuration.

Originally-by: Alwin Antreich <a.antreich@proxmox.com>
[handling of multiple addresses]
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:05 +02:00
Fabian Ebner
815325da0d api: ceph: mon: fix handling of IPv6 addresses in destroymon
by also comparing the canonical form to decide when to remove an address. When
getting the IP from the rados information, also drop eventual brackets, so our
existing function can handle it. Add the brackets back within the
remove_addr_from_mon_host function.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:05 +02:00
Fabian Ebner
3e10f0fcdb api: ceph: mon: factor out mon_host regex address removal
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
9e989449ae api: ceph: mon: fix handling of IPv6 addresses in assert_mon_prerequisites
by comparing their canonical forms.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
4be756f59c api: ceph: mon: add ips_from_mon_host helper
Partially based on pve-storage's CephConfig.pm get_monaddr_list, but the
interface is not the best for the use case here.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
396acb1577 api: ceph: mon: fix handling of IPv6 addresses in find_mon_ip
by comparing their canonical forms.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
8ecaa0bfbe api: ceph: create mon: explicitly add subsequent monitors to the monmap
in preparation for supporting multiple addresses. The config section does not
allow more than one public_addr.

Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
57951fc78b api: ceph: create mon: factor out monmaptool command
so it's easier to re-use for a future variant.

Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
d3b899c144 api: ceph: create mon: handle ms_bind_ipv* options more generally
mostly relevant to prepare support for IPv4/IPv6 dual stack mode as a special
case of the planned support for mutliple public networks.

As before, only set the false value when we are dealing with the first address,
but also be explicit about the IPv4 case as the defaults might change in the
future.

Then, when an address of a different type comes along later, set the relevant
bind option to true.

Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Fabian Ebner
6e96b07078 api: ceph: mon: split up arguments for run_command
no functional change is intended.

Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-06-18 17:13:04 +02:00
Dominik Csapak
aa16ebbb97 ui: dc/ACLView: make the window wider
to accomodate the longer acl paths better

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-18 17:06:29 +02:00
Dominik Csapak
80e364cc24 ui: data/PermPathStore: add missing basic acl paths to acl selector
those two static acl paths were missing in the selector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-18 17:06:29 +02:00
Thomas Lamprecht
08dd6ed855 pve6to7: re-work output of description length check and add passes too
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 16:49:22 +02:00
Lorenz Stechauner
84006d1fcf pve6to7: add check for guest and node description length
Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
2021-06-18 15:48:09 +02:00
Thomas Lamprecht
ff119724ee vdzump: whitespace/extra-lines clean up
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 14:35:25 +02:00
Thomas Lamprecht
6407435786 pve6to7: bump free space requirement to 4 GiB
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 14:32:20 +02:00
Dominik Csapak
164a86abd5 ui: fix Guest Summary Notes height
fixes 'infinite' height of the guest notes, by setting the height on the
container a level up

the notes view itself is already scrollable, so if it is too large,
there'll be a scrollbar

this does not change anything for templates, as there we show nothing
under the notes and thus there the infinite height is ok

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-18 13:37:07 +02:00
Thomas Lamprecht
b4546c7ec2 vzdump: log the count of backups we pruned#
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-18 13:31:27 +02:00