Commit Graph

5304 Commits

Author SHA1 Message Date
Dominik Csapak
5a7252df23 status/plugin: do not test connection if disabled
so that if one disables the plugin (e.g. because it is offline),
it will work even when the server is not reachable

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-12-07 17:20:54 +01:00
Fabian Ebner
fb6871fc7f vzdump: use debugmsg instead of warn
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-07 09:31:12 +01:00
Fabian Ebner
f1dd762969 vzdump: warn when both storage and dumpdir are defined in vzdump.conf
and prefer storage, because the storage configuration might contain more
settings. Warning is preferable over dying, because all backups would be
affected (even if they don't use the vzdump.conf parameters) and the settings
could've been compatible (i.e. dumpdir being the storage's dump dir). Previously
one of the two options would randomly be chosen in the loop in new(), because of
perl hash iteration.

Reported here: https://forum.proxmox.com/threads/vzdump-times-out-very-often-on-zfs-storage-pool.80035/post-354277

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-07 09:31:12 +01:00
Thomas Lamprecht
ad2e3a0907 bump version to 6.3-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-03 18:14:49 +01:00
Dominik Csapak
ce251651a4 pvestatd: fix container cpuset scheduling
Since pve-container commit

c48a25452dccca37b3915e49b7618f6880aeafb1

the code to get the cpuset controller path lives in pve-commons PVE::CGroup.
Use that and improve the logging in case some error happens in the future.
Such an error will only be logged once per pvestatd run,
so it does not spam the log.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-12-03 16:33:50 +01:00
Dominik Csapak
06c8315d86 fix #3182 #3183: change backup retention mask logic
instead of relying on the contentTypeField (which does not need to
exists, e.g. for iscsi), explicitely write it into the panel/icon
mapping and check that

better would be if we query the backend about storage capabilities,
but such an api call does not exist yet, so this should be ok for now

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-12-02 18:03:23 +01:00
Thomas Lamprecht
492d4039a6 test: allow running replication tests in parallel
running multiple workers reduces built time from >3s to ~0.6s here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 18:00:47 +01:00
Thomas Lamprecht
d59f1fa868 test: replication: cleanup use statements
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 17:59:51 +01:00
Thomas Lamprecht
41303e9779 test: buildsys: allow to execute vzdump tests in parallel
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 16:19:34 +01:00
Thomas Lamprecht
13f8e3b073 test: buildsys: rework target names, prefix with test
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 16:18:41 +01:00
Fabian Ebner
acc963c3e5 vzdump: defaults: correctly parse prune-backups and convert maxfiles
Also simplify handling in new(), now that we never have maxfiles there anymore.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-02 13:15:52 +01:00
Fabian Ebner
1c56bcf39d vzdump: convert maxfiles CLI parameter to prune-backups
in preparation to clean up handling in new().

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-02 13:15:52 +01:00
Fabian Ebner
e2aac8cc8c vzdump: storage_info: adapt to new maxfiles backend behavior
It's automatically converted to prune-backups when using storage_config() now.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-02 13:15:52 +01:00
Fabian Ebner
550d8e71e6 test: add tests for retention parameters for vzdump's new()
To get a more complete picture, instead of mocking storage_config,
PVE::Cluster's get_config is mocked. This ensures that the prune-backups
validation and the maxfiles conversion are also called.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-02 13:15:52 +01:00
Thomas Lamprecht
f5b6ccb1d5 api: fixup: commit change to storage module
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 11:45:33 +01:00
Thomas Lamprecht
ca51630938 ui: USB selector: use new API endpoint
so that we can sunset the usbscan from pve-storage's scan API, which
was never fitting there anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 11:28:40 +01:00
Thomas Lamprecht
1c182fc59f api: add usb list in hardware endpoint
As envisioned in[0][1], better late than never.

[0]: commit 523d5f486b
[1]: https://lists.proxmox.com/pipermail/pve-devel/2018-November/034694.html

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-02 11:27:02 +01:00
Thomas Lamprecht
d6441a5d87 api: use storage scan module from pve-storage
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-01 19:30:13 +01:00
Dominik Csapak
8267aa6375 ui: fix usage of findRecord
findRecord does not match exactly, but only at the beginning and
case insensitive, by default. Change all calls to be case sensitive
and an exactmatch (we never want the default behaviour afaics).

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-26 10:52:07 +01:00
Dominik Csapak
57f6c79b08 ui: storage: find the correct storage record
by default, findRecord only anchors at the beginning, e.g.
findRecord('id', 'foo');
could find either an entry with id 'foo', 'foobar', 'foobaz', etc.

extend the call to set 'exactMatch' to true, else we sometimes
used the content types of storage e.g., 'local-lvm' for showing
the panels for 'local'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-26 10:52:07 +01:00
Fabian Grünbichler
a6f6ed5a06 ui: don't refer to enc key as 'master key'
the master key is something entirely different, this might confuse
users..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-11-26 10:42:20 +01:00
Thomas Lamprecht
c781d185c5 bump version to 6.3-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-25 16:20:35 +01:00
Thomas Lamprecht
903e646d7c ui: pbs: set onlineHelp (again)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-25 16:19:50 +01:00
Stefan Reiter
c856bd1c22 ui: bootorder: add onlineHelp link
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-11-25 16:11:32 +01:00
Dominik Csapak
dadba141a8 api: metrics/server: test connection on add/update
just a basic check, but better than not checking at all

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-25 14:55:25 +01:00
Thomas Lamprecht
e3022813ec ui: storage edit: ensure to set keep-all by default
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-25 14:49:23 +01:00
Dominik Csapak
13a0434066 ui: pbs key show: improve labelWidth for 'Key' in translations
it is not that short in other languages, e.g. German

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-25 13:19:30 +01:00
Dominic Jäger
ba854589f4 ui: storage: pbsedit: Fix spelling
No e in unusable.

to loose means to free from restraint, or to make less tight or strict [1].
to lose means to fail to keep, or to miss something from one's possession [2].
So "losing" (instead of "loosing") would be bad.

[0] https://www.merriam-webster.com/dictionary/unusable
[1] https://www.merriam-webster.com/dictionary/loose
[2] https://www.merriam-webster.com/dictionary/lose

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-11-25 13:16:30 +01:00
Thomas Lamprecht
a55b3b717f ui: storage edit: avoid returning prune values if unsupported
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-25 13:15:19 +01:00
Wolfgang Bumiller
5865b59747 ad #3140: allow interface suffix in dns entries
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-11-25 12:33:54 +01:00
Dominic Jäger
c63115da85 ui: metrics: Link help button to correct chapter
... instead of generic PVE admin guide.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-11-25 12:32:42 +01:00
Dominik Csapak
b22cbac9bf api: metrics/server: add minimum and maximum to port schema
we just added the api, so it would be good to only accept valid ports
(they were wrapped before)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-25 12:31:42 +01:00
Thomas Lamprecht
de656c26f6 bump version to 6.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:45:11 +01:00
Stoiko Ivanov
c92fc8a1e8 api2: osd destroy: untaint device before pvremove
We get the device list from ceph-volume lvm list, and decode the json
output, which at that point is tainted (perlsec (1)).
Untaint it here before calling, because it is currently the only
call-site using the information in a problematic way (run_command).
(the only other call-site being in pve5to6)

Alternatively we could untaint while reading the information, but then
should only return a small subset of the ceph-volume output.

The issue is most likely due to
cb9db10c1a9855cf40ff13e81f9dd97d6a9b2698 in pve-common ('run_command:
improve performance for logging and long lines'),

Tested on a virtual testsetup by creating OSDs with second DB disk,
and destroying it via GUI (did not manage to get the error without the
DB disk)

Reported via our community forum:
https://forum.proxmox.com/threads/insecure-dependency-in-exec-during-osd-destroy.79574/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-24 23:37:33 +01:00
Stoiko Ivanov
259b557cf4 api2: osd destroy: fix error function
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-24 23:37:33 +01:00
Thomas Lamprecht
a4b871296f ui: storage content: add encryption and verification columns for PBS
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:36:02 +01:00
Thomas Lamprecht
770d614ff0 ui: factor out backup verification renderer
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:35:39 +01:00
Thomas Lamprecht
3003a59d95 ui: guest backup view: add encrypted column for PBS storages
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:35:15 +01:00
Thomas Lamprecht
ebea3f4507 ui: storage content: allow to specify extraColumns (again)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:34:25 +01:00
Thomas Lamprecht
1be81ae0d6 ui: storage/browser: pass storage plugin type to content panels
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:33:57 +01:00
Thomas Lamprecht
cfc3a1665a ui: storage: pbs paperkey: print short fingerprint in heading
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:32:20 +01:00
Thomas Lamprecht
db364c61bb ui: storage: pbs: move datastore field to right column for balance
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:10:26 +01:00
Thomas Lamprecht
14ba33fbff ui: storage: pbs: improve encryption key handling
Move encryption key handling in its own tab.

Allow uploads, warn more visible on edit/remove

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:10:26 +01:00
Thomas Lamprecht
7dda153cca ui: utils: add more generic loadTextFromFile upload helper
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:10:03 +01:00
Thomas Lamprecht
d994d2a712 ui: storage: base: allow adding extra tab panels
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:06:21 +01:00
Thomas Lamprecht
77a9ce3248 api: resources: return plugin type
The storage one for now.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:01:54 +01:00
Thomas Lamprecht
54a589be68 ui: dc/storage: set onlineHelp for prune tab in edit window
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 17:09:51 +01:00
Thomas Lamprecht
7e78e99428 bump version to 6.2-17
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 16:01:48 +01:00
Dominik Csapak
063b6d5e0e API2/Ceph: fix createpools 'add_storages' parameter
by deleteing it from $ceph_param we deleted it also from
$param since it was only a reference

fix it by extracting it beforehand

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-24 15:45:24 +01:00
Fabian Ebner
56fad7c4e6 ui: storage: show no-keeps hint exactly when needed
extracting the logic from the previous checkbox listener into a function, which
is also called on field changes and once in afterrender. Calling it initially
makes sure the hint is also displayed at the beginning when editing a storage
with no retention options configured, and the initial disabling of the input
fields for the isCreate case now also happens through that call.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-24 15:45:24 +01:00