all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Stefan Hanreich <s.hanreich@proxmox.com>
To: "Proxmox VE development discussion" <pve-devel@lists.proxmox.com>,
	"Fabian Grünbichler" <f.gruenbichler@proxmox.com>
Subject: Re: [pve-devel] [PATCH v2 qemu-server 1/1] Do not start VM twice when rollbacking with --start
Date: Wed, 21 Dec 2022 16:17:53 +0100	[thread overview]
Message-ID: <6dd3a01c-43ac-5bac-c6b3-90512486a735@proxmox.com> (raw)
In-Reply-To: <1671634557.1x9i16kwe4.astroid@yuna.none>



On 12/21/22 16:02, Fabian Grünbichler wrote:
> On November 21, 2022 2:13 pm, Stefan Hanreich wrote:
>> When rollbacking to the snapshot of a VM that includes RAM, the VM
>> gets started by the rollback task anyway, so no additional start task is
>> needed. Previously, when running rollback with the --start parameter
>> and the VM snapshot includes RAM, a start task was created. That task
>> failed because the VM had already been started by the rollback task.
>>
>> Additionally documented this behaviour in the description of the --start
>> parameter
>>
>> Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
>> ---
>>
>> Changes v1 -> v2:
>> Do not parse config for checking type of snapshot but rather directly check
>> whether VM is running or not via check_running()
>>
>>   PVE/API2/Qemu.pm | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
>> index 6bdcce2..691202d 100644
>> --- a/PVE/API2/Qemu.pm
>> +++ b/PVE/API2/Qemu.pm
>> @@ -5064,7 +5064,8 @@ __PACKAGE__->register_method({
>>   	    snapname => get_standard_option('pve-snapshot-name'),
>>   	    start => {
>>   		type => 'boolean',
>> -		description => "Whether the VM should get started after rolling back successfully",
>> +		description => "Whether the VM should get started after rolling back successfully."
>> +		    . " A VM will always be started when rollbacking a snapshot with RAM included, regardless of this parameter.",
> 
> this is worded a bit weird (I don't think that "rollbacking" is a word ;)), how about:
> 
> . "(Note: VMs will be automatically started if the snapshot includes RAM.)",
> 

sounds way better! will also improve the commit message ;)

>>   		optional => 1,
>>   		default => 0,
>>   	    },
>> @@ -5091,7 +5092,7 @@ __PACKAGE__->register_method({
>>   	    PVE::Cluster::log_msg('info', $authuser, "rollback snapshot VM $vmid: $snapname");
>>   	    PVE::QemuConfig->snapshot_rollback($vmid, $snapname);
>>   
>> -	    if ($param->{start}) {
>> +	    if ($param->{start} && !PVE::QemuServer::check_running($vmid)) {
> 
> unless I am missing something, this should use
> 
>   PVE::QemuServer::Helpers::vm_running_locally($vmid)
> 
> we are holding the guest migration lock for the whole rollback worker, and
> snapshot_rollback loads the config, so we know it is on the current node at this
> point and just checking whether a matching qemu process is running after the
> rollback is enough.

will do

> 
>>   		PVE::API2::Qemu->vm_start({ vmid => $vmid, node => $node });
>>   	    }
>>   	};
>> -- 
>> 2.30.2
>>
>>
>> _______________________________________________
>> pve-devel mailing list
>> pve-devel@lists.proxmox.com
>> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>>
>>
>>
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 




      reply	other threads:[~2022-12-21 15:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-21 13:13 Stefan Hanreich
2022-12-21 15:02 ` Fabian Grünbichler
2022-12-21 15:17   ` Stefan Hanreich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6dd3a01c-43ac-5bac-c6b3-90512486a735@proxmox.com \
    --to=s.hanreich@proxmox.com \
    --cc=f.gruenbichler@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal