5
0
mirror of git://git.proxmox.com/git/pve-guest-common.git synced 2024-12-23 17:34:10 +03:00
Commit Graph

271 Commits

Author SHA1 Message Date
Fabian Ebner
0111ceb9fd vzdump: add explicit reminder for breaking schema change for PVE 7.0
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-01-26 18:45:16 +01:00
Thomas Lamprecht
9d8f36e1ce bump version to 3.1-4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-15 15:52:58 +01:00
Fabian Ebner
5da50f8cf5 vzdump: update exclude-path description
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-24 16:30:10 +01:00
Fabian Ebner
f6c5ba3cdb job_status: simplify fixup of jobs for stolen guests
by using switch_replication_job_target_nolock.

If a job is scheduled for removal and the guest was
stolen, it still makes sense to correct the job entry,
which didn't happen previously.

AFAICT, this was the only user of swap_source_target_nolock.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-06 15:10:25 +01:00
Fabian Ebner
0c3550c014 create nolock variant for switch_replication_job_target
so that it can be used within job_status

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-06 15:09:51 +01:00
Fabian Ebner
158c90bf9a also update sources in switch_replication_job_target
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-06 15:07:04 +01:00
Fabian Ebner
6364fd6385 clarify what the source property is used for in a replication job
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-06 15:06:52 +01:00
Fabian Ebner
db9eb287d4 job_status: read only after acquiring the lock
to get the current replication config and have the VM list
and state object as recent as possible.

Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-06 15:05:47 +01:00
Thomas Lamprecht
60aeee5fb1 print snapshot tree: reduce indentation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-24 16:57:38 +02:00
Oguz Bektas
295a6359db vzdump: use regex check for 'mailto'
add a new string format to allow local usernames like 'root' but also
limit which characters can be used in the 'mailto' address.

Co-Authored-by: Fabian Gruenbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2020-09-03 10:02:32 +02:00
Thomas Lamprecht
74c0a4cf7e bump version to 3.1-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-24 10:12:34 +02:00
Thomas Lamprecht
0eec698ff5 move config: add comment about node owning configs
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-08-24 09:45:30 +02:00
Fabian Ebner
659061237c Add move_config_to_node method
allows to mock it when testing and a few lines less duplication
between the migration modules.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-08-24 09:42:50 +02:00
Fabian Ebner
0d9520c415 Add prune-backups option to vzdump parameters
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-08-20 17:39:15 +02:00
Fabian Grünbichler
9bdcd0325d bump version to 3.1-2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-05 12:15:00 +02:00
Fabian Grünbichler
301b375bab unbreak config_with_pending_array
which lead to current and pending/delete values being returned
separately, and being misinterpreted by the web interface (and probably
other clients as well).

Fixes: daf8fca57a

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-08-05 12:12:44 +02:00
Thomas Lamprecht
fb53d1087e bump version to 3.1-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-13 09:08:57 +02:00
Thomas Lamprecht
07c587d84a followup: add comment to avoid same mistake again
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-11 18:47:53 +02:00
Stoiko Ivanov
dd59a7cac0 fix #2834: skip refs in config_with_pending_array
With the refactoring of config_with_pending_array in
daf8fca57a a few sanity checks on parsed configs
were dropped.

One case where a config value should be skipped, instead of parsed and added
is when the value is not scalar. This is the case for the raw lxc keys
(e.g. lxc.init.cmd, lxc.apparmor.profile) - which get added as array to the
'lxc' key.

This patch reintroduces the skipping of non-scalar values, when parsing the
config but not for the pending values.
From a short look through the commit history the sanity checks were in place
since 2014 (introduced in qemu-server for handling pending configuration
changes), and their removal did not cause any other regressions.
To my knowledge only the raw lxc config keys are parsed into a non-scalar
value.

Tested by adding a 'lxc.init.cmd' key to a container config.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-07-11 18:45:26 +02:00
Thomas Lamprecht
981e497b79 bump version to 3.0-11
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-07 18:51:35 +02:00
Aaron Lauterer
a8878e5ef7 Adapt description of get_backup_volumes
as `data` was a bit too generic we now use `volume_config` in the actual
implementations. Thus we should adapt the description as well.

Tab spacing for the other keys has been adapted for easier readabilty.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-06-24 11:14:19 +02:00
Thomas Lamprecht
daf8fca57a refactor config_with_pending_array
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-20 17:08:09 +02:00
Thomas Lamprecht
43c899e407 fix config_with_pending_array for falsy current values
one could have a config with:
> acpi: 0

and a pending deletion for that to restore the default 1 value.

The config_with_pending_array method then pushed the key twice, one
in the loop iterating the config itself correctly and once in the
pending delete hash, which is normally only for those options not yet
referenced in the config at all. Here the check was on "truthiness"
not definedness, fix that.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-20 17:04:40 +02:00
Fabian Grünbichler
4826847217 bump version to 3.0-10
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-05 11:41:48 +02:00
Fabian Grünbichler
6177da17aa bump version to 3.0-9
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-05 11:25:16 +02:00
Fabian Grünbichler
4bb2d4061a d/control: break older pve-container
since the changed locking exposes a bug that requires fixing on the
pve-container side.
2020-05-05 11:24:44 +02:00
Fabian Grünbichler
3599eb3341 d/control: break older qemu-server
since we renamed lock_config_mode to lock_config_shared

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-05 11:18:38 +02:00
Fabian Grünbichler
9cdd44001a lock_config: rename lock_config_mode -> lock_config_shared
and pull the actual lock_file_full handling into a helper, to make the
public interface clearer:

lock_config -> standard exclusive lock with 10s timeout
lock_config_full -> exclusive lock with configurable timeout
lock_config_shared -> shared lock with configurable timeout

the latter only has a single user (qemu-server's clone API call)
currently.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-05 11:11:57 +02:00
Fabian Grünbichler
990d9675c5 snapshot_delete: check for concurrent modifications at each step
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-05 11:11:57 +02:00
Fabian Ebner
c261973c52 snapshot_rollback: make sure newer replication snapshots are deleted
Commit a1dfeff3a8 changed the behavior
for Replication::prepare with last_sync=0, so use last_sync=1 instead.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-05 11:11:37 +02:00
Fabian Grünbichler
82a0485717 snapshot_rollback: flock earlier
to protect checks against concurrent modifications

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-05 11:11:29 +02:00
Fabian Ebner
97b9ccec08 fix 2682: make sure configuration file is up-to-date for lock_config-variants
See [0] for the details. The call tree for the variants is
lock_config -> lock_config_full -> lock_config_mode
so it is sufficient to adapt lock_config_mode.

[0]: https://bugzilla.proxmox.com/show_bug.cgi?id=2682

Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-05 11:11:29 +02:00
Fabian Ebner
093c4c6e09 Avoid duplication by using lock_config_mode
No functional change is intended.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-05 11:11:19 +02:00
Fabian Grünbichler
dc52f2dce8 bump version to 3.0-8
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-04 14:11:12 +02:00
Alwin Antreich
e8ca21371f Fix: #2124 add zstd support
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-05-04 14:08:16 +02:00
Fabian Grünbichler
6f69f21de7 bump version to 3.0-7
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-04-09 09:40:26 +02:00
Fabian Grünbichler
3d5b0326e5 d/control: depend on pve-storage with new storage_migrate
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-04-09 09:39:42 +02:00
Fabian Ebner
95a9508eba Add update_volume_ids
This function is intened to be used after doing a migration where some
of the volume IDs changed.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-04-09 09:39:42 +02:00
Fabian Ebner
36cff88657 Use new storage_migrate interface
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-04-09 09:39:31 +02:00
Thomas Lamprecht
e90f586aab replicaiton: log rate and transport type
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-08 13:27:34 +02:00
Thomas Lamprecht
45b4c97f0f replication: dont declare variable in post-if scope
If a variable is defined and assigned in a conditional statement, it
is not defined behavior in Perl.

For more information about this behaviour see
https://perldoc.perl.org/perlsyn.html#Statement-Modifiers

> NOTE: The behaviour of a my, state, or our modified with a
> statement modifier conditional or loop construct (for example,
> `my $x if ...`) is undefined.
> The value of the my variable may be undef, any previously assigned
> value, or possibly anything else.
> Don't rely on it. Future versions of perl might do something
> different from the version of perl you try it out on. Here be
> dragons."

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-08 13:20:07 +02:00
Fabian Grünbichler
8d5dd71cbf bump version to 3.0-6
and add versioned breaks for foreach_volume changes

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-03-30 09:21:20 +02:00
Fabian Ebner
261d47a451 foreach_volume(_full): generalize and implement function
Introduce a parameter $opts to allow for better control of which
keys/volumes to use for the iteration and ability to reverse the order.
Also, allow extra parameters for the function.

Removes the '__snapshot'-prefix for future use from outside the module.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-03-27 14:15:22 +01:00
Fabian Ebner
8db0144048 Add foreach_unused_volume
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-03-27 14:10:02 +01:00
Fabian Ebner
4e6382ab58 Add interfaces for volume-related helpers
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-03-27 14:10:02 +01:00
Thomas Lamprecht
1224970141 bump version to 3.0-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-12 11:10:06 +01:00
Dominik Csapak
b2b16cee39 make GuestHelpers a subclass of Exporter
or else the Exports will not work

found by hotplugging nics with current master from qemu-server
which resulted in a
'undefined subroutine &PVE::QemuServer::safe_string_ne'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-03-12 11:09:00 +01:00
Thomas Lamprecht
e292f76997 bump version to 3.0-4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-10 14:03:53 +01:00
Thomas Lamprecht
1245ad854c get_backup_volumes: clarifcation and indentation improvements to comment
Aaron clarified that one documented element actually slipped through
and won't be returned.

Also firx the mixed tab/space indentation, for such comments we can
be pretty liberal and I just went with the two spaces per level, as
some part already had that.

Clarify that both array and hash are refs.

[0]: https://pve.proxmox.com/pipermail/pve-devel/2020-March/042070.html

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-10 12:17:03 +01:00
Aaron Lauterer
b2a2affa3f abstractconfig: add prototype for get_backup_volumes
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-03-10 12:13:07 +01:00