[pve-devel] [PATCH pve-container v2 1/1] fix #4228: add start parameter to rollback endpoint for automatic restarting of CT
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Sep 12 16:12:34 CEST 2022
Am 12/09/2022 um 14:00 schrieb Stefan Hanreich:
> Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
> ---
> src/PVE/API2/LXC/Snapshot.pm | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/src/PVE/API2/LXC/Snapshot.pm b/src/PVE/API2/LXC/Snapshot.pm
> index 4be16ad..62adaee 100644
> --- a/src/PVE/API2/LXC/Snapshot.pm
> +++ b/src/PVE/API2/LXC/Snapshot.pm
> @@ -272,6 +272,11 @@ __PACKAGE__->register_method({
> node => get_standard_option('pve-node'),
> vmid => get_standard_option('pve-vmid'),
> snapname => get_standard_option('pve-snapshot-name'),
> + start => {
> + optional => 1,
> + type => 'string',
why is this a string and not a 'boolean'? We normally also document the default
in the schema through, well, the default => X key.
> + description => "whether the container should get restarted afterwards",
Please try to use somewhat full sentences, that can stand alone and avoids question
like "afterward what?", e.g.:
"Whether the container should get started after rolling back successfully"
> + },
> },
> },
> returns => {
> @@ -291,9 +296,16 @@ __PACKAGE__->register_method({
>
> my $snapname = extract_param($param, 'snapname');
>
> + my $start = extract_param($param, 'start');
do you need to extract (i.e., delete from $param hash) the parameter?
Otherwise just use $param->{start} directly below.
> +
> my $realcmd = sub {
> PVE::Cluster::log_msg('info', $authuser, "rollback snapshot LXC $vmid: $snapname");
> PVE::LXC::Config->snapshot_rollback($vmid, $snapname);
> +
> + if ($start) {
> + PVE::Cluster::log_msg('info', $authuser, "start CT $vmid");
why produce a cluster log here? The vm_start already does a syslog and if
we'd like to get a cluster log too (or instead of that) it would be an independent
patch and done in PVE::API2::LXC::Status's vm_start code (not that I see much need
for that)
> + PVE::API2::LXC::Status->vm_start({ vmid => $vmid, node => $node })
> + }
> };
>
> my $worker = sub {
More information about the pve-devel
mailing list