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.scha...@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.k...@proxmox.com>
Tested-by: Daniel Kral <d.k...@proxmox.com>


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

Reply via email to