[PATCH qemu-server] tests: qemu_img_convert: add rbd and btrfs snapshots convert test

Alexandre Derumier alexandre.derumier at groupe-cyllene.com
Tue May 27 15:16:12 CEST 2025


Signed-off-by: Alexandre Derumier <alexandre.derumier at groupe-cyllene.com>
---
 test/run_qemu_img_convert_tests.pl | 76 ++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/test/run_qemu_img_convert_tests.pl b/test/run_qemu_img_convert_tests.pl
index 652e61f2..03756333 100755
--- a/test/run_qemu_img_convert_tests.pl
+++ b/test/run_qemu_img_convert_tests.pl
@@ -21,6 +21,26 @@ my $storage_config = {
 	    type => "dir",
 	    shared => 0,
 	},
+	"local-btrfs" => {
+	    content => {
+		images => 1,
+	    },
+	    path => "/var/lib/vz",
+	    type => "btrfs",
+	    shared => 0,
+	},
+	"krbd-store" => {
+	    monhost => "127.0.0.42,127.0.0.21,::1",
+	    fsid => 'fc4181a6-56eb-4f68-b452-8ba1f381ca2a',
+	    content => {
+		images => 1
+	    },
+	    type => "rbd",
+	    krbd => 1,
+	    pool => "cpool",
+	    username => "admin",
+	    shared => 1
+	},
 	"rbd-store" => {
 	    monhost => "127.0.0.42,127.0.0.21,::1",
 	    fsid => 'fc4181a6-56eb-4f68-b452-8ba1f381ca2a',
@@ -204,6 +224,62 @@ my $tests = [
 	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0.raw",
 	]
     },
+    {
+	name => "krbdsnapshot",
+	parameters => [
+	    "krbd-store:vm-$vmid-disk-0",
+	    "local:$vmid/vm-$vmid-disk-0.raw",
+	    1024*10,
+	    { snapname => 'foo'},
+	],
+	expected => [
+	    "/usr/bin/qemu-img", "convert", "-p", "-n", "-f", "raw", "-O", "raw",
+	    "/dev/rbd-pve/fc4181a6-56eb-4f68-b452-8ba1f381ca2a/cpool/vm-$vmid-disk-0\@foo",
+	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0.raw",
+	]
+    },
+    {
+	name => "rbdsnapshot",
+	parameters => [
+	    "rbd-store:vm-$vmid-disk-0",
+	    "local:$vmid/vm-$vmid-disk-0.raw",
+	    1024*10,
+	    { snapname => 'foo'},
+	],
+	expected => [
+	    "/usr/bin/qemu-img", "convert", "-p", "-n", "-f", "raw", "-O", "raw",
+	    "rbd:cpool/vm-$vmid-disk-0\@foo:mon_host=127.0.0.42;127.0.0.21;[\\:\\:1]:auth_supported=none",
+	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0.raw",
+	]
+    },
+    {
+	name => "btrfs_raw_snapshots",
+	parameters => [
+	    "local-btrfs:$vmid/vm-$vmid-disk-0.raw",
+	    "local:$vmid/vm-$vmid-disk-0.raw",
+	    1024*10,
+	    { snapname => 'foo'},
+	],
+	expected => [
+	    "/usr/bin/qemu-img", "convert", "-p", "-n", "-f", "raw", "-O", "raw",
+	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0\@foo/disk.raw",
+	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0.raw",
+	]
+    },
+    {
+	name => "btrfs_qcow2_snapshots",
+	parameters => [
+	    "local-btrfs:$vmid/vm-$vmid-disk-0.qcow2",
+	    "local:$vmid/vm-$vmid-disk-0.raw",
+	    1024*10,
+	    { snapname => 'snap'},
+	],
+	expected => [
+	    "/usr/bin/qemu-img", "convert", "-p", "-n", "-l", "snapshot.name=snap", "-f", "qcow2", "-O", "raw",
+	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0.qcow2",
+	    "/var/lib/vz/images/$vmid/vm-$vmid-disk-0.raw",
+	]
+    },
     {
 	name => "lvmsnapshot",
 	parameters => [
-- 
2.39.5




More information about the pve-devel mailing list