IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
because it is a more complete pattern. Also, 'mailto' was a '-list' format in
PVE 6.2 and earlier, so this also fixes whitespace-related backwards
compatibility. In particular, this fixes creating a backup job in the GUI
without setting an address, which passes along ''.
For example,
> vzdump 153 --mailto " ,,,admin@proxmox.com;;; developer@proxmox.com , ; "
was valid and worked in PVE 6.2.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
In addition to relying on shellquote(), it's still nice to avoid printing out
unnecessary whitespaces, especially newlines.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Previously only the hash reference was printed instead of the property string.
It's also necessary to parse the property string when reading the cron config.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
allows partial fast plugging of functions as defined in the
$partial_fast_plug_option in qemuserver (and possibly lxc later on)
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
move the safe_string_ne and safe_num_ne functions to guesthelpers to
remove duplicate code.
add the new safe_boolean_ne and typesafe_ne helper functions
also add them in @EXPORT_OK
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
allows us to reuse this for clone, where we want to create a "clone"
locked config for the target guest.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>