[pve-devel] [PATCH v2 0/4] <add meta info and bandaid for QEMU 6.1 and unpinned q35 machine backward compat

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Nov 3 16:58:08 CET 2021

changes v1 -> v2:
* move checks into own method
* ensure forced machine is parsed so that min_version can work
* only apply on `l26` ostype
* fix test file name and comment

v1 cover letter:

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)

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                             | 73 +++++++++++++++++++
 .../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-7.0.conf              | 14 ++++
 test/cfg2cmd/q35-simple-7.0.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 ++++++++
 12 files changed, 243 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-7.0.conf
 create mode 100644 test/cfg2cmd/q35-simple-7.0.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


More information about the pve-devel mailing list