since they make some problems (e.g. windows hybrid shutdown is enabled
by default then -> which makes vGPU problem). Libvirt/virsh also
disables that by default (and tries preventing enabling it.)

This series introduces a new pve1 version for 9.2 machine versions, and
pins new windows guests to that. For this, we need to save
the current pve version in the meta info too now.

Additionally I introduce 'enable-s{3,4}' settings so that users can
still manually enable that (in case it's needed), or disable it for
older machine types. (non hotpluggable).

I deliberatly did not introduce a GUI option for the enabling of
S3/S4 power states, since I don't think it'll come up often.
(If it does, we can still add something to the UI)

The only ugly thing left, is that one cannot select the
9.2+pve1 variant in the gui manually (e.g. for windows), since
we don't have anything in the UI for that.

The question here is if I should introduce a pve version selector.
(I personally think it's not a great idea, because it does not really
convey any meaning to the user if e.g. pve0 or pve1 is better...)

Note that patch 1 is only an RFC and has only tangentially to do with
the series. I sent it along, because the way we test will change
the tests again if we apply the rest of this series and bump to the next
qemu version (due to the +pve1 -> +pve0 change).

Dominik Csapak (8):
  tests: cfg2cmd: pin QEMU version
  config to command: add one '-global' option for each flag
  meta info: also add current pve-machine version
  machine: correctly select pve machine version for non pinned windows
    guests
  machine: incorporate pve machine version when pinning windows guests
  machine: add S3/S4 power state properties
  machine: bump pve machine version and reverse the s3/s4 defaults
  tests: cfg2cmd: add test for windows machine pinning from meta info

 PVE/API2/Qemu.pm                              |  4 +-
 PVE/QemuServer.pm                             |  7 +-
 PVE/QemuServer/Machine.pm                     | 71 +++++++++++++++++--
 PVE/QemuServer/MetaInfo.pm                    | 28 +++++---
 test/cfg2cmd/bootorder-empty.conf.cmd         |  4 +-
 test/cfg2cmd/bootorder-legacy.conf.cmd        |  4 +-
 test/cfg2cmd/bootorder.conf.cmd               |  4 +-
 ...putype-icelake-client-deprecation.conf.cmd |  4 +-
 .../custom-cpu-model-defaults.conf.cmd        |  4 +-
 test/cfg2cmd/efi-raw-template.conf.cmd        |  4 +-
 test/cfg2cmd/efi-raw.conf.cmd                 |  4 +-
 test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd |  4 +-
 test/cfg2cmd/efi-secboot-and-tpm.conf.cmd     |  4 +-
 test/cfg2cmd/efidisk-on-rbd.conf.cmd          |  4 +-
 test/cfg2cmd/i440fx-viommu-virtio.conf.cmd    |  4 +-
 test/cfg2cmd/ide.conf.cmd                     |  4 +-
 .../cfg2cmd/memory-hotplug-hugepages.conf.cmd |  4 +-
 test/cfg2cmd/memory-hotplug.conf.cmd          |  4 +-
 test/cfg2cmd/memory-hugepages-1g.conf.cmd     |  4 +-
 test/cfg2cmd/memory-hugepages-2m.conf.cmd     |  4 +-
 test/cfg2cmd/minimal-defaults.conf.cmd        |  4 +-
 test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd  |  4 +-
 test/cfg2cmd/netdev-7.1.conf.cmd              |  4 +-
 test/cfg2cmd/q35-ide.conf.cmd                 |  4 +-
 .../q35-linux-hostpci-mapping.conf.cmd        |  4 +-
 .../q35-linux-hostpci-multifunction.conf.cmd  |  4 +-
 .../q35-linux-hostpci-template.conf.cmd       |  4 +-
 ...q35-linux-hostpci-x-pci-overrides.conf.cmd |  4 +-
 test/cfg2cmd/q35-linux-hostpci.conf.cmd       |  4 +-
 test/cfg2cmd/q35-simple.conf.cmd              |  4 +-
 test/cfg2cmd/q35-viommu-intel.conf.cmd        |  4 +-
 test/cfg2cmd/q35-viommu-virtio.conf.cmd       |  4 +-
 test/cfg2cmd/q35-windows-pinning-pvever.conf  |  5 ++
 .../q35-windows-pinning-pvever.conf.cmd       | 26 +++++++
 test/cfg2cmd/q35-windows-pinning.conf         |  5 ++
 test/cfg2cmd/q35-windows-pinning.conf.cmd     | 24 +++++++
 test/cfg2cmd/seabios_serial.conf.cmd          |  4 +-
 test/cfg2cmd/simple-btrfs.conf.cmd            |  4 +-
 test/cfg2cmd/simple-virtio-blk.conf.cmd       |  4 +-
 test/cfg2cmd/simple1-template.conf.cmd        |  4 +-
 test/cfg2cmd/simple1.conf.cmd                 |  4 +-
 test/cfg2cmd/vnc-clipboard-spice.conf.cmd     |  4 +-
 test/cfg2cmd/vnc-clipboard-std.conf.cmd       |  4 +-
 test/run_config2command_tests.pl              | 23 +++++-
 44 files changed, 281 insertions(+), 52 deletions(-)
 create mode 100644 test/cfg2cmd/q35-windows-pinning-pvever.conf
 create mode 100644 test/cfg2cmd/q35-windows-pinning-pvever.conf.cmd
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf.cmd

-- 
2.39.5



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

Reply via email to