Commit Graph

1232 Commits

Author SHA1 Message Date
Fabian Ebner
ff79ee6596 allow workers to count warnings and finish tasks in a WARNINGS state
as is already supported by the UI (and PBS).

A nice bonus is that warn() can be used by both workers and non-workers. For
workers, the output is redirected/duplicated as set up by {fork,tee}_worker(),
and non-erroring workers that issued a warning will end in a WARNINGS state.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-04-23 14:35:55 +02:00
Thomas Lamprecht
6b00e70cd1 pbs: keep a separate $USE_CRYPT_PARAMS list per command exe
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-23 14:15:13 +02:00
Thomas Lamprecht
76ddb876d9 pbs: rework client exe handling and error message
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-23 14:14:36 +02:00
Stefan Reiter
f7c0254131 PBSClient: use crypt params for file 'list' and 'extract'
Necessary for accessing encrypted backups.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-22 18:17:35 +02:00
Stefan Reiter
77e402f085 PBSClient: add file_restore_extract function
*_prepare creates a fifo for streaming data back to clients directly,
filefile_restore_extract blocks and should be called from a background
worker - while it is running outcoming data can be read from the FIFO.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-22 18:17:35 +02:00
Stefan Reiter
67252649d9 PBSClient: add file_restore_list command
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-22 18:17:35 +02:00
Stefan Reiter
9f727e5536 PBSClient: adapt error message to include full package names
More helpful for a user to know what they're missing.

Suggested-by: Dominic Jäger <d.jaeger@proxmox.com>
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-22 18:17:35 +02:00
Oguz Bektas
390fc10dc4 daemon: create_reusable_socket: listen on IPv6 and IPv4
When the 'Domain' configuration of IO::Socket::IP is set to PF_INET6,
it will prefer IPv6, but since we don't set 'V6Only' it will also
listen on IPv4 interfaces[0].

Drop the now obsoleted '$family' parameter.

[0]: https://perldoc.perl.org/IO::Socket::IP#REPLACING-IO::Socket-DEFAULT-BEHAVIOUR

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-21 18:00:20 +02:00
Stefan Reiter
b15abdfe2e PBSClient: allow running other binaries
...such as proxmox-file-restore.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-21 17:37:02 +02:00
Stefan Reiter
6ab98c4e53 JSONSchema: don't cycle-check 'download' responses
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-21 17:36:57 +02:00
Stefan Reiter
91fe74a036 fixup: remove double braces
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-19 11:56:49 +02:00
Fabian Grünbichler
920750982b schema: pull out abstract 'id-pair' verifier
we'll need another one for guest bridge IDs

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-04-16 11:51:27 +02:00
Thomas Lamprecht
7a2e8ca127 tools: getaddrinfo: code/indentation cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-06 10:33:51 +02:00
Wolfgang Bumiller
26764d7cc3 get_options: don't set optional positional params to undef
Currently this happened if (and only if) at least one
positional parameter was passed.

We run into this with
  `pmgconfig cert delete <type> [<restart>]`
vs
  `pvenode cert delete [<restart>]`

where in the PVE case the `restart` option was simply
omitted, whereas for PMG due to the existence of `<type>`
the `restart` option was explicitly passedset in the $opts
hash but ended up being `undef`.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-03-16 13:15:57 +01:00
Thomas Lamprecht
30ca0de57a bump version to 6.3-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-09 08:35:17 +01:00
Stefan Reiter
3bb8802a08 format: fix render_bytes with CLIFormatter
CLIFormatter passes in an options hash as a second paramter, which so
far was ignored. Now that we treat it as a precision parameter, check if
it is a hash and extract the option from it before using it.

Otherwise perl puts HASH(0x...) into the format and sprintf chokes.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-02-25 21:20:59 +01:00
Thomas Lamprecht
ef737f0b3c net: ip from CIDR: sort result
this should not be a real problem yet, but the perl keys hash pseudo
random order was an issue way to often to bet on that..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-25 13:47:56 +01:00
Fabian Ebner
1e55a6cd22 network: get_local_ip_from_cidr: return unique IPs
to avoid erroring out when "multiple" addresses are configured on live
migration, when in fact it's the same IP multiple times.

Seems like the same problem for a caller in pve-cluster was fixed by checking
the uniqueness afterwards, see commit 266041169beb36c8892ca54265e2d91335307ffb
in pve-cluster. But there doesn't seem to be any caller relying on the current
behavior, and no additional information other than the addresses are returned,
so fix it here.

Reported here:
https://forum.proxmox.com/threads/live-migration-of-vms-via-full-mesh-network-could-not-get-ip-multiple-addresses-configured-on-local-node-for-network.84585/

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-02-25 12:30:24 +01:00
Thomas Lamprecht
3fae4d24a9 bump version to 6.3-4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-19 15:50:29 +01:00
Stoiko Ivanov
eb6262a6b7 fix #3259: always free certificate file after reading it
This commit mirrors e3c4007bc94956962c03da8c6853415d2fdf057c in
pve-cluster. The fix there got lost with a refactoring for reusing the
code here in pve-common in c92b771669e68a8b49906b8a0a68b533750567b0

Tested by repeadetly reading https://$pve-node:8006/nodes on a
virtual testcluster.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-02-19 15:35:36 +01:00
Thomas Lamprecht
dc00c0529d procfs: whitespace/indendation cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-19 15:35:06 +01:00
Fabian Ebner
ff8d3b1d7a register email-or-username format
To be used for the mailto vzdump parameter.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
2021-02-18 12:49:15 +01:00
Fabian Ebner
4c4bd1047c sendmail: use more complete email regex and shellquote
Shellquote is needed for '~', and while it doesn't help with '-',
there should be no problem, because options are separated from mailto
since commit 216a3f4f13.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
2021-02-18 12:49:12 +01:00
Thomas Lamprecht
af640684dc bump version to 6.3-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-08 16:09:16 +01:00
Thomas Lamprecht
b82ddf5d99 cgroup: get_pressure_stat: handle v1 controller gracefully
and return the default zeroed $res in case we cannot get any path

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-08 16:04:32 +01:00
Thomas Lamprecht
eadfaabdae use unified parser for pressure stats
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-08 16:03:35 +01:00
Alexandre Derumier
0bc3dac963 add get_pressure_stat
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-02-08 15:04:28 +01:00
Thomas Lamprecht
8fbb755cd6 format: drop unused JSONSchema module use
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-08 15:03:29 +01:00
Stefan Reiter
4997835b08 format: handle undef, 0, and decimals in render_duration
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-02-08 14:40:38 +01:00
Stefan Reiter
57b3385290 extract PVE::Format from PVE::CLIFormatter for reuse
and add some tests

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-02-08 14:40:38 +01:00
Fabian Ebner
4b32ef6e2c SectionConfig: parse_config: add errors to result
so that callers can know about them. This is useful in places where we'd rather
abort then continue with a faulty configuration. For example, when reading the
storage configuration before executing a backup job.

Originally-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-21 15:48:16 +01:00
Thomas Lamprecht
ad3ec2bb7c buildsys: use plain cp instead of rsync
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-14 19:54:48 +01:00
Thomas Lamprecht
f0bf7e9d6c bump version to 6.3-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-03 16:53:22 +01:00
Thomas Lamprecht
9d52694bca followup comment/code cleanups
actually explain why we set to undef and not use `delete`.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-03 16:51:33 +01:00
Dominik Csapak
40682a697d tools: add extract_sensitive_params
moved and generalized from pve-storage, since we'll need it
in more places

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-12-03 16:46:16 +01:00
Dominik Csapak
5640c3db26 PBSClient: add get_repository to generate repository urls from configs
we can use this everywhere we need to have a repository url

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-12-03 16:39:21 +01:00
Thomas Lamprecht
83b0b7d185 buildsys: clean more
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-03 16:39:10 +01:00
Thomas Lamprecht
a8a8dd847b bump version to 6.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-27 15:30:25 +01:00
Alexandre Derumier
9ca89b8722 Inotify: delete vlan-id for "iface.X" vlan iface.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-11-27 15:26:25 +01:00
Thomas Lamprecht
63d0f1ff3e subscription: use more specific machine repo definition for PVE/PMG
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-27 15:22:38 +01:00
Thomas Lamprecht
1d15203cfa inotify: apt auth: sort longest machine entry first and allow deletion
plus a few code cleanups.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-27 15:21:40 +01:00
Thomas Lamprecht
7f4dcc9239 bump version to 6.2-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 16:22:25 +01:00
Thomas Lamprecht
dfc8643d65 rest: register method: allow minus in path template parameter names
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 16:20:54 +01:00
Thomas Lamprecht
a6766fedf3 rest: register method: non-capturing group for path regex outer group
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 16:20:15 +01:00
Thomas Lamprecht
76b0577cbd bump version to 6.2-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 14:29:25 +01:00
Thomas Lamprecht
6674eb1e3d PBS client: backup tree: avoid over generic param has
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 13:04:53 +01:00
Thomas Lamprecht
2113c7e8e9 PBS client: get snapshots: avoid over generic param has
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 13:04:43 +01:00
Thomas Lamprecht
69a3a5858f PBS client: cannot use normal method call style for private subs
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 13:03:50 +01:00
Thomas Lamprecht
8b88b2f6e5 pbs: restore pxar: add required parameters explicitly in method signature
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 09:39:03 +01:00
Thomas Lamprecht
ad6b323758 pbs: code cleanup param array assembly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 09:38:28 +01:00