all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: Re: [pve-devel] [PATCH qemu-server 3/3] fix #6007: template backup: use minimized configuration for handling the full vm start
Date: Fri, 24 Jan 2025 11:23:50 +0100	[thread overview]
Message-ID: <2effc6f4-7624-4f78-9480-b94df117fa66@proxmox.com> (raw)
In-Reply-To: <20250124100811.32895-4-f.ebner@proxmox.com>

Am 24.01.25 um 11:08 schrieb Fiona Ebner:
> Previously, the template's configuration was used as-is for the rest
> of handling the VM start even if config_to_command() uses a minimized
> configuration to build the command. This can lead to issues with a
> network device with the 'link_down' flag set, because the network
> device will not be present, but the start handling will still issue a
> QMP command for it, leading to a failed backup operation.
> 
> Use the minimized configuration for the whole start-up handling to
> avoid such issues.
> 
> Use the 'no-write-config' flag to safeguard against accidentally
> writing out the temporarily modified config.
> 
> Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
>  PVE/QemuServer.pm | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 808c0e1c..837b8916 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -3396,6 +3396,7 @@ sub config_to_command {
>  	    scsihw => $conf->{scsihw}, # so that the scsi disks are correctly added
>  	    bios => $conf->{bios}, # so efidisk gets included if it exists
>  	    name => $conf->{name}, # so it's correct in the process list
> +	    'no-write-config' => 1, # make sure to not write this configuration
>  	};
>  
>  	# copy all disks over
> @@ -4017,7 +4018,7 @@ sub config_to_command {
>  	push @$cmd, @$aa;
>      }
>  
> -    return wantarray ? ($cmd, $vollist, $spice_port, $pci_devices) : $cmd;
> +    return wantarray ? ($cmd, $vollist, $spice_port, $pci_devices, $conf) : $cmd;
>  }
>  

Hmm, thinking about it again, to reduce regression potential, we could
also just return the temporary config if it was actually required and
have the caller only assign it when really present.

>  sub check_rng_source {
> @@ -5613,8 +5614,17 @@ sub vm_start_nolock {
>  	print "Resuming suspended VM\n";
>      }
>  
> -    my ($cmd, $vollist, $spice_port, $pci_devices) = config_to_command($storecfg, $vmid,
> -	$conf, $defaults, $forcemachine, $forcecpu, $params->{'live-restore-backing'});
> +    # Note that for certain cases like templates, the configuration is minimized, so need to ensure
> +    # the rest of the function here uses the same configuration that was used to build the command
> +    (my $cmd, my $vollist, my $spice_port, my $pci_devices, $conf) = config_to_command(
> +	$storecfg,
> +	$vmid,
> +	$conf,
> +	$defaults,
> +	$forcemachine,
> +	$forcecpu,
> +	$params->{'live-restore-backing'},
> +    );
>  
>      my $migration_ip;
>      my $get_migration_ip = sub {



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

  reply	other threads:[~2025-01-24 10:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-24 10:08 [pve-devel] [PATCH-SERIES qemu-server 0/3] fix #6007: fix PBS template backup for certain configurations Fiona Ebner
2025-01-24 10:08 ` [pve-devel] [PATCH qemu-server 1/3] backup: also restore VM power state for early failures Fiona Ebner
2025-01-24 10:08 ` [pve-devel] [PATCH qemu-server 2/3] config: introduce a flag to prevent writing the configuration Fiona Ebner
2025-01-24 10:18   ` Thomas Lamprecht
2025-01-24 10:25     ` Fiona Ebner
2025-01-24 10:08 ` [pve-devel] [PATCH qemu-server 3/3] fix #6007: template backup: use minimized configuration for handling the full vm start Fiona Ebner
2025-01-24 10:23   ` Fiona Ebner [this message]
2025-01-24 10:47     ` Fiona Ebner

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=2effc6f4-7624-4f78-9480-b94df117fa66@proxmox.com \
    --to=f.ebner@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