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
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel