all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu/qemu-server/docs v2 00/18] adapt to changes in QEMU machine version deprecation/removal
@ 2025-01-16 11:50 Fiona Ebner
  2025-01-16 11:50 ` [pve-devel] [PATCH qemu v2 01/18] adapt machine version deprecation for Proxmox VE Fiona Ebner
                   ` (17 more replies)
  0 siblings, 18 replies; 28+ messages in thread
From: Fiona Ebner @ 2025-01-16 11:50 UTC (permalink / raw)
  To: pve-devel

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: get vm 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        | 107 +++++++++++++++++-
 PVE/QemuServer/Makefile          |   1 +
 PVE/QemuServer/MetaInfo.pm       |  47 ++++++++
 test/run_config2command_tests.pl |   3 +-
 7 files changed, 248 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, 417 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


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2025-01-17 13:43 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-16 11:50 [pve-devel] [PATCH qemu/qemu-server/docs v2 00/18] adapt to changes in QEMU machine version deprecation/removal Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu v2 01/18] adapt machine version deprecation for Proxmox VE Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 02/18] machine: drop unused parameter from assert_valid_machine_property() helper Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 03/18] move get_command_for_arch() helper to helpers module Fiona Ebner
2025-01-17 12:20   ` Thomas Lamprecht
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 04/18] helpers: improve name for variable for mapping arch to binary Fiona Ebner
2025-01-17 12:19   ` Thomas Lamprecht
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 05/18] move kvm_user_version() function to helpers module Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 06/18] move get_vm_arch() helper " Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 07/18] machine: add default_machine_for_arch() helper Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 08/18] move get_installed_machine_version() helper to machine module Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 09/18] move windows_get_pinned_machine_version() function " Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 10/18] move get_vm_machine() " Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 11/18] move meta information handling to its own module Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 12/18] machine: get vm machine: fallback to creation QEMU version for windows starting with 9.1 Fiona Ebner
2025-01-17  9:19   ` Thomas Lamprecht
2025-01-17  9:27     ` Fiona Ebner
2025-01-17  9:58       ` Thomas Lamprecht
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 13/18] machine: add check_and_pin_machine_string() helper Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 14/18] api: update vm config: pin machine version when switching to windows os type Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 15/18] machine: log informational line when pinning machine version for Windows guest Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 16/18] machine: rename machine_version() function to machine_version_at_least() Fiona Ebner
2025-01-17 12:39   ` Thomas Lamprecht
2025-01-17 13:33     ` Fiona Ebner
2025-01-17 13:43       ` Thomas Lamprecht
2025-01-16 11:50 ` [pve-devel] [PATCH qemu-server v2 17/18] machine: code cleanup: avoid superfluous augmented assignment operator Fiona Ebner
2025-01-16 11:50 ` [pve-devel] [PATCH docs v2 18/18] qm: machine version: document support in PVE Fiona Ebner
2025-01-17 13:07   ` Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal