[pve-devel] [PATCH v4 storage 6/6] pvesm: add a move-volume command

Daniel Kral d.kral at proxmox.com
Fri Sep 20 16:28:02 CEST 2024


On 9/18/24 16:49, Filip Schauer wrote:
> The method can be called from the PVE shell with `pvesm move-volume`:
> 
> ```
> pvesm move-volume <source volume> <target storage> [--target-node <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
> ```
> 
> Signed-off-by: Filip Schauer <f.schauer at proxmox.com>
> ---
>   src/PVE/CLI/pvesm.pm | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/src/PVE/CLI/pvesm.pm b/src/PVE/CLI/pvesm.pm
> index 9b9676b..8031fc1 100755
> --- a/src/PVE/CLI/pvesm.pm
> +++ b/src/PVE/CLI/pvesm.pm
> @@ -690,6 +690,8 @@ our $cmddef = {
>   	print "APIVER $res->{apiver}\n";
>   	print "APIAGE $res->{apiage}\n";
>       }],
> +    'move-volume' => [ "PVE::API2::Storage::Content", 'move', ['volume', 'target-storage'],
> +		{ node => $nodename } ],
>       'prune-backups' => [ __PACKAGE__, 'prunebackups', ['storage'], { node => $nodename }, sub {
>   	my $res = shift;
>   

nit: In my opinion, this patch could be moved up at least where the 
'move-volume' API method was introduced, so that the 'move-volume' can 
be invoked in whatever 'style' people like, but this is something more 
minor.

Nevertheless, the CLI utility works just like the curl/pvesh API call as 
far as I can tell by testing this with the test cases I have pointed out 
in the previous patches.

Reviewed-by: Daniel Kral <d.kral at proxmox.com>
Tested-by: Daniel Kral <d.kral at proxmox.com>




More information about the pve-devel mailing list