From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D35F297C8 for ; Tue, 26 Apr 2022 14:31:29 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CFA631B83E for ; Tue, 26 Apr 2022 14:30:59 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id B1A071B810 for ; Tue, 26 Apr 2022 14:30:58 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 88AB942BE5 for ; Tue, 26 Apr 2022 14:30:58 +0200 (CEST) From: Fabian Ebner To: pve-devel@lists.proxmox.com Date: Tue, 26 Apr 2022 14:30:49 +0200 Message-Id: <20220426123055.110358-1-f.ebner@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.083 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment 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. [qemuserver.pm, qemu.pm] Subject: [pve-devel] [PATCH-SERIES v3 qemu-server/manager] more flexible restore 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: , X-List-Received-Date: Tue, 26 Apr 2022 12:31:29 -0000 Allows preserving disks and overriding VM settings upon restore. For containers, overriding settings was already possible, but managing partial restore is more involved because of nested mount structure, etc. Exposes the functionality in the UI, allowing to set (host)name, cores(+sockets), memory, and, for VMs, which action should be taken for the drive. Also includes the related improvement in the UI, to detect if a storage needed by the restore is not available. Changes from v2: * Dropped already applied patches. * Switch to a parameter with explicit drive actions, which also allows setting a per-drive target storage. * Adapt UI and improve JS style. Necessary dependency bumps are pve-manager -> widget-toolkit and pve-manager -> qemu-server -> qemu. Still missing: * add documentation for the new restore functionality for VMs and existing restore functionality for containers. * add per-drive storage selection to UI (just adding a widgetcolumn with our storage selector means an API call for each disk, which is sub-optimal) qemu-server: Fabian Ebner (3): api: create: refactor parameter check logic api: create: allow overriding non-disk options during restore restore: allow specifying drive actions during restore PVE/API2/Qemu.pm | 75 ++++++++++++++++++++++++-------- PVE/QemuServer.pm | 107 ++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 156 insertions(+), 26 deletions(-) manager: Fabian Ebner (3): ui: restore: disallow empty storage selection if it wouldn't work ui: restore: allow override of some settings ui: restore: allow treating disks differently www/manager6/Makefile | 1 + www/manager6/grid/RestoreDiskGrid.js | 151 +++++++++++++++++++++++++++ www/manager6/window/Restore.js | 130 ++++++++++++++++++++++- 3 files changed, 280 insertions(+), 2 deletions(-) create mode 100644 www/manager6/grid/RestoreDiskGrid.js -- 2.30.2