From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 73BC31FF164 for ; Fri, 17 Jan 2025 15:25:09 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id ED443106A7; Fri, 17 Jan 2025 15:25:06 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Fri, 17 Jan 2025 15:24:14 +0100 Message-Id: <20250117142430.99484-1-f.ebner@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.051 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [machine.pm, qemu.pm, helpers.pm, metainfo.pm, qemuserver.pm] Subject: [pve-devel] [PATCH qemu-server/docs v4 00/16] adapt to changes in QEMU machine version deprecation/removal X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" 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(-) -- 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