Changes in v3: * improve code readibility for Windows machine version fallback change
Changes in v2: * change deprecation logic into QEMU itself rather than just weakening the warning there (so no need to change the deprecation logic in qemu-server anymore) * get rid of outdated information from "Update to a Newer Machine Version" section in docs In QEMU commit a35f8577a0 ("include/hw: add macros for deprecation & removal of versioned machines"), a new machine version deprecation and removal policy was introduced. After only 3 years a machine version will be deprecated while being removed after 6 years. The deprecation is a bit early considering major PVE releases are approximately every 2 years. This means that a deprecation warning can already happen for a machine version that was introduced during the previous major release. This would scare users for no good reason, so avoid deprecating machine versions in PVE too early and define a baseline of machine versions that will be supported throughout a single major PVE release. The new policy takes effect only in QEMU 10.1, see QEMU commit c9fd2d9a48 ("include/hw: temporarily disable deletion of versioned machine types"). Machine versions <=2.3 were already deprecated for a while, with PVE also warning about it since commit dec371d9 ("vm start: add warning about deprecated machine version") in qemu-server 8.0.8. These have been dropped in QEMU 9.1, so the baseline for PVE 8 is 2.4. This series is intended to allow broader QEMU 9.1 rollout. Still required in addition to this series before PVE 9: * wiki article about what to look out for when changing machine version * checks in pve8to9 script giving errors/warnings when machine version is too old qemu: Fiona Ebner (1): adapt machine version deprecation for Proxmox VE ...e-version-deprecation-for-Proxmox-VE.patch | 137 ++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 138 insertions(+) create mode 100644 debian/patches/pve/0052-adapt-machine-version-deprecation-for-Proxmox-VE.patch qemu-server: Fiona Ebner (16): machine: drop unused parameter from assert_valid_machine_property() helper move get_command_for_arch() helper to helpers module helpers: improve name for variable for mapping arch to binary move kvm_user_version() function to helpers module move get_vm_arch() helper to helpers module machine: add default_machine_for_arch() helper move get_installed_machine_version() helper to machine module move windows_get_pinned_machine_version() function to machine module move get_vm_machine() function to machine module move meta information handling to its own module machine: fallback to creation QEMU version for windows starting with 9.1 machine: add check_and_pin_machine_string() helper api: update vm config: pin machine version when switching to windows os type machine: log informational line when pinning machine version for Windows guest machine: rename machine_version() function to machine_version_at_least() machine: code cleanup: avoid superfluous augmented assignment operator PVE/API2/Qemu.pm | 44 +++++--- PVE/QemuServer.pm | 184 +++---------------------------- PVE/QemuServer/Helpers.pm | 49 ++++++++ PVE/QemuServer/Machine.pm | 108 +++++++++++++++++- PVE/QemuServer/Makefile | 1 + PVE/QemuServer/MetaInfo.pm | 47 ++++++++ test/run_config2command_tests.pl | 3 +- 7 files changed, 249 insertions(+), 187 deletions(-) create mode 100644 PVE/QemuServer/MetaInfo.pm pve-docs: Fiona Ebner (1): qm: machine version: document support in PVE qm.adoc | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) Summary over all repositories: 10 files changed, 418 insertions(+), 195 deletions(-) -- Generated by git-murpp 0.5.0 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel