public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Stefan Reiter <s.reiter@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Thomas Lamprecht <t.lamprecht@proxmox.com>
Subject: Re: [pve-devel] [PATCH 0/4] add meta info and bandaid for QEMU 6.1 and unpinned q35 machine backward compat
Date: Thu, 21 Oct 2021 11:34:52 +0200	[thread overview]
Message-ID: <db8e84c2-f9f8-4a4b-aa25-9e7251e5cc17@proxmox.com> (raw)
In-Reply-To: <20211021083609.2057094-1-t.lamprecht@proxmox.com>

On 10/21/21 10:36 AM, Thomas Lamprecht wrote:
> First add a new meta property that is currently exclusively set on new
> VM creation and then read-only, initially add the creation time as UNIX
> epoch and the QEMU version that was installed during installation
> (thought about using the one on first start but that actually does not
> gives any more guarantee, so just go for simple).
> 
> Use that information to band aid around a change regarding hotplug in
> QEMU 6.1 that can affected older VMs on fresh start (migration and
> rollback is covered by force-machine mechanisms as always already).
> 
> I'm not 100% convinced of the whole thing, albeit I see some merit in
> the meta property even if we do not go with the last patch, anyhow, I
> proposed this off-list to Dominik (and those thing is partly his idea
> too), Wolfgang, Fabian and Stefan and none of them rejected the idea nor
> communicated a better/more preferred alternative, so I went for it
> (still not steaming from enthusiasm though)

So we're doing all of this to avoid issues with older VMs that expect
"acpi-pci-hotplug-with-bridge-support=off" on Q35 (previously default),
but we still want to set it for new VMs that are created with QEMU 6.1
and never booted with anything older.

But taking a step back, do we actually want the new ACPI hotplug in
general? If we choose to simply leave it be, we could just always add
"acpi-pci-hotplug-with-bridge-support=off" to Q35 on QEMU > 6.1.
Since it's a global property, I think we wouldn't even need to check
machine-type/forcemachine at all, since we'd only make the default
explicit with older ones.

> 
> Thomas Lamprecht (4):
>    config: add new meta property withe creation time
>    config: meta: also save the QEMU version installed during creation
>    tests: cfg2cmd: add a few q35 related tests
>    cfg2cmd: switch off ACPI hotplug on bridges for q35 VMs
> 
>   PVE/API2/Qemu.pm                              |  2 +
>   PVE/QemuServer.pm                             | 62 +++++++++++++++++++
>   .../q35-linux-hostpci-multifunction.conf.cmd  |  1 +
>   test/cfg2cmd/q35-linux-hostpci.conf.cmd       |  1 +
>   test/cfg2cmd/q35-simple-6.0.conf              | 13 ++++
>   test/cfg2cmd/q35-simple-6.0.conf.cmd          | 28 +++++++++
>   test/cfg2cmd/q35-simple-6.1.conf              | 14 +++++
>   test/cfg2cmd/q35-simple-6.1.conf.cmd          | 28 +++++++++
>   test/cfg2cmd/q35-simple-pinned-6.1.conf       | 13 ++++
>   test/cfg2cmd/q35-simple-pinned-6.1.conf.cmd   | 28 +++++++++
>   test/cfg2cmd/q35-simple.conf                  | 13 ++++
>   test/cfg2cmd/q35-simple.conf.cmd              | 29 +++++++++
>   test/cfg2cmd/q35-win10-hostpci.conf.cmd       |  1 +
>   13 files changed, 233 insertions(+)
>   create mode 100644 test/cfg2cmd/q35-simple-6.0.conf
>   create mode 100644 test/cfg2cmd/q35-simple-6.0.conf.cmd
>   create mode 100644 test/cfg2cmd/q35-simple-6.1.conf
>   create mode 100644 test/cfg2cmd/q35-simple-6.1.conf.cmd
>   create mode 100644 test/cfg2cmd/q35-simple-pinned-6.1.conf
>   create mode 100644 test/cfg2cmd/q35-simple-pinned-6.1.conf.cmd
>   create mode 100644 test/cfg2cmd/q35-simple.conf
>   create mode 100644 test/cfg2cmd/q35-simple.conf.cmd
> 




  parent reply	other threads:[~2021-10-21  9:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21  8:36 Thomas Lamprecht
2021-10-21  8:36 ` [pve-devel] [PATCH 1/4] config: add new meta property withe creation time Thomas Lamprecht
2021-10-21  8:36 ` [pve-devel] [PATCH 2/4] config: meta: also save the QEMU version installed during creation Thomas Lamprecht
2021-10-21  8:36 ` [pve-devel] [PATCH 3/4] tests: cfg2cmd: add a few q35 related tests Thomas Lamprecht
2021-10-21  9:34   ` Stefan Reiter
2021-10-21  9:45     ` Thomas Lamprecht
2021-10-21  8:36 ` [pve-devel] [PATCH 4/4] cfg2cmd: switch off ACPI hotplug on bridges for q35 VMs Thomas Lamprecht
2021-10-21  9:34   ` Stefan Reiter
2021-10-21  9:47     ` Thomas Lamprecht
2021-10-21  9:34 ` Stefan Reiter [this message]
2021-10-21  9:47   ` [pve-devel] [PATCH 0/4] add meta info and bandaid for QEMU 6.1 and unpinned q35 machine backward compat Thomas Lamprecht
2021-10-21  9:56     ` Stefan Reiter
2021-10-21 10:01       ` Thomas Lamprecht

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=db8e84c2-f9f8-4a4b-aa25-9e7251e5cc17@proxmox.com \
    --to=s.reiter@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=t.lamprecht@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal