all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH docs v2 18/18] qm: machine version: document support in PVE
Date: Thu, 16 Jan 2025 12:50:54 +0100	[thread overview]
Message-ID: <20250116115054.124447-19-f.ebner@proxmox.com> (raw)
In-Reply-To: <20250116115054.124447-1-f.ebner@proxmox.com>

Elaborate on new QEMU machine version removal policy and how PVE will
support machine versions. Make sure to also mention the years, so that
users immediately have a good idea for how long it will be.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---

Changes in v2:
* get rid of outdated information from "Update to a Newer Machine
  Version" section
* drop sentence about early pre-deprecation warning (doesn't exist
  anymore)

 qm.adoc | 39 +++++++++++++++++++++++++++++++--------
 1 file changed, 31 insertions(+), 8 deletions(-)

diff --git a/qm.adoc b/qm.adoc
index 94fdd4e..9d8becf 100644
--- a/qm.adoc
+++ b/qm.adoc
@@ -173,19 +173,42 @@ This means that after a fresh start, the newest machine version supported by the
 QEMU binary is used (e.g. the newest machine version QEMU 8.1 supports is
 version 8.1 for each machine type).
 
+Starting with QEMU 10.1, machine versions will be removed from upstream QEMU
+after 6 years. In {pve}, major releases happen approximately every 2 years, so a
+major {pve} release will support machine versions from approximately two
+previous major {pve} releases, more details below.
+
+Before upgrading to a new major {pve} release, you should update VM
+configurations to avoid all machine versions that will be dropped during the
+next major {pve} release. This ensures that the guests can still be used
+throughout that release. See the section
+xref:qm_machine_update[Update to a Newer Machine Version].
+
+The following table shows the expected baselines of supported machine versions
+for the current and upcoming major {pve} releases (best guesses):
+
+[width="100%",cols=">s,>,>s,2*>",options="header"]
+|===============================================================================================
+| {pve} | active development | supported baseline | dropped during life cycle | last QEMU binary
+|     8 |          2023-2025 |                2.4 |             2.3 and older |              9.2
+|     9 |          2025-2027 |                6.0 |             5.2 and older |             11.2
+|    10 |          2027-2029 |                8.0 |             7.2 and older |             13.2
+|===============================================================================================
+
+NOTE: Support for {pve} releases is longer than active development, but no new
+QEMU binary versions will be added after active development, just backports and
+fixes for existing binary versions.
+
 [[qm_machine_update]]
 
 Update to a Newer Machine Version
 +++++++++++++++++++++++++++++++++
 
-Very old machine versions might become deprecated in QEMU. For example, this is
-the case for versions 1.4 to 1.7 for the i440fx machine type. It is expected
-that support for these machine versions will be dropped at some point. If you
-see a deprecation warning, you should change the machine version to a newer one.
-Be sure to have a working backup first and be prepared for changes to how the
-guest sees hardware. In some scenarios, re-installing certain drivers might be
-required. You should also check for snapshots with RAM that were taken with
-these machine versions (i.e. the `runningmachine` configuration entry).
+If you see a deprecation warning, you should change the machine version to a
+newer one. Be sure to have a working backup first and be prepared for changes to
+how the guest sees hardware. In some scenarios, re-installing certain drivers
+might be required. You should also check for snapshots with RAM that were taken
+with these machine versions (i.e. the `runningmachine` configuration entry).
 Unfortunately, there is no way to change the machine version of a snapshot, so
 you'd need to load the snapshot to salvage any data from it.
 
-- 
2.39.5



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


  parent reply	other threads:[~2025-01-16 11:52 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Fiona Ebner [this message]
2025-01-17 13:07   ` [pve-devel] [PATCH docs v2 18/18] qm: machine version: document support in PVE Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250116115054.124447-19-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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