From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id F188D1FF168 for ; Tue, 26 Nov 2024 16:29:32 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 71FC25E14; Tue, 26 Nov 2024 16:29:33 +0100 (CET) Message-ID: Date: Tue, 26 Nov 2024 16:29:30 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: pve-devel@lists.proxmox.com References: <20240918144953.130780-1-f.schauer@proxmox.com> From: Filip Schauer In-Reply-To: <20240918144953.130780-1-f.schauer@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.177 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 POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes 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. [storage.pm, content.pm, pbsplugin.pm, proxmox.com, pvesm.pm, plugin.pm] Subject: Re: [pve-devel] [PATCH v4 storage 0/6] support moving volumes between storages 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Superseded by: https://lists.proxmox.com/pipermail/pve-devel/2024-November/066993.html On 18/09/2024 16:49, Filip Schauer wrote: > Add the ability to move a backup, ISO, container template or snippet > between storages and nodes via an API method. Moving a VMA backup to a > Proxmox Backup Server requires the proxmox-vma-to-pbs package to be > installed. Currently only VMA backups can be moved to a Proxmox Backup > Server and moving backups from a Proxmox Backup Server is not yet > supported. > > The method can be called from the PVE shell with `pvesm move-volume`: > > ``` > pvesm move-volume [--target-node ] [--delete] > ``` > > For example to move a VMA backup to a Proxmox Backup Server: > > ``` > pvesm move-volume \ > local:backup/vzdump-qemu-100-2024_06_25-13_08_56.vma.zst pbs > ``` > > Or move a container template to another node and delete the source: > > ``` > pvesm move-volume \ > local:vztmpl/devuan-4.0-standard_4.0_amd64.tar.gz local \ > --target-node pvenode2 --delete > ``` > > Or use curl to call the API method: > > ``` > curl https://$APINODE:8006/api2/json/nodes/$SOURCENODE/storage/$SOURCESTORAGE/content/$SOURCEVOLUME \ > --insecure --cookie "$( --data-raw "target-storage=$TARGETSTORAGE&target-node=$TARGETNODE" > ``` > > proxmox-vma-to-pbs needs to be bumped to 0.1.0 before applying > "support moving VMA backups to PBS" > > Changes since v3: > * Split changes into multiple commits > * Remove superfluous parentheses from post-ifs > * Move vma_to_pbs branch from move_volume into its own helper inside > PBSPlugin > * Use $! instead of $@ to retrieve unlink error in move_volume > * Also support content type 'rootdir' > * Rework permission checks on the move API method > * Fix permissions description on move API method > * Add error for unimplemented content types > > Changes since v2: > * Specify permissions for move method > * Add success message to move method > * Limit the move method to non-vdisk volumes > * Check that source and target are not the same in the move method > * Remove the unnecessary movevolume method from pvesm and make the > move-volume command call the move API method directly > * Fail when trying to move a protected volume with the delete option > enabled, instead of ignoring the protection > * Change "not yet supported" to "not supported" in messages indicating > unimplemented features > * Process auxiliary files first when moving a volume locally on a node > * Move a volume instead of copying it when trying to move a volume > locally on a node with the delete option enabled. > * Use the more general `path` function instead of `filesystem_path` to > get the path of a volume > * Loosen the required privileges to move an ISO or a container template, > or when the delete option is not set. > * Move the volume_move sub from PVE::Storage to > PVE::API2::Storage::Content since it is only used there. > * Explicitly check that storages are path-based in volume_move, > except when moving a vma to a Proxmox Backup Server > > Changes since v1: > * Rename pvesm command to move-volume > * Add a delete option to control whether the source volume should be > kept > * Move the API method to the POST endpoint of > /nodes/{node}/storage/{storage}/content/{volume}, replacing the > experimental copy method that has not been used since its introduction > in October 2011 883eeea6. > * Implement migrating volumes between nodes > > Filip Schauer (6): > plugin: allow volume import of iso, snippets and vztmpl > api: content: implement moving a volume between storages > api: content: support moving backups between path based storages > storage: introduce decompress_archive_into_pipe helper > support moving VMA backups to PBS > pvesm: add a move-volume command > > debian/control | 1 + > src/PVE/API2/Storage/Content.pm | 190 ++++++++++++++++++++++++++------ > src/PVE/CLI/pvesm.pm | 2 + > src/PVE/Storage.pm | 74 ++++++++----- > src/PVE/Storage/PBSPlugin.pm | 65 +++++++++++ > src/PVE/Storage/Plugin.pm | 107 +++++++++++++----- > 6 files changed, 354 insertions(+), 85 deletions(-) > _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel