[pve-devel] applied-series: [PATCH qemu-server/docs v4 00/16] adapt to changes in QEMU machine version deprecation/removal

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Jan 17 19:55:39 CET 2025


Am 17.01.25 um 15:24 schrieb Fiona Ebner:
> Changes in v4:
> * dropped already applied patch
> * move import for get_host_arch() to earlier patch where it is already needed
> * squash rename and move patches for get_command_for_arch() together
> * rename machine_version_at_least -> is_machine_version_at_least
> * use a dedicated section to describe the new removal policy
> * drop table, instead describe how the cut-off decision is made with examples
> 
> 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-server:
> 
> Fiona Ebner (15):
>   machine: drop unused parameter from assert_valid_machine_property()
>     helper
>   move get_command_for_arch() helper to helpers module
>   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
>     is_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 | 34 ++++++++++++++++++++++++++--------
>  1 file changed, 26 insertions(+), 8 deletions(-)
> 
> 
> Summary over all repositories:
>   8 files changed, 275 insertions(+), 195 deletions(-)
> 


applied, thanks!




More information about the pve-devel mailing list