]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/rbd: add mon_host + key[-ref] coverage to migration-external
authorIlya Dryomov <idryomov@gmail.com>
Mon, 29 Jun 2026 09:40:02 +0000 (11:40 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 17 Jul 2026 13:51:57 +0000 (15:51 +0200)
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit e246fad552854cdc942485047b6c9112524a9229)

qa/suites/rbd/migration-external/6-prepare/native-clone-conf.yaml [new file with mode: 0644]
qa/suites/rbd/migration-external/6-prepare/native-clone-key-ref.yaml [new file with mode: 0644]
qa/suites/rbd/migration-external/6-prepare/native-clone-raw-key.yaml [new file with mode: 0644]
qa/suites/rbd/migration-external/6-prepare/native-clone.yaml [deleted file]
qa/suites/rbd/migration-external/6-prepare/native-standalone-conf.yaml [new file with mode: 0644]
qa/suites/rbd/migration-external/6-prepare/native-standalone-key-ref.yaml [new file with mode: 0644]
qa/suites/rbd/migration-external/6-prepare/native-standalone-raw-key.yaml [new file with mode: 0644]
qa/suites/rbd/migration-external/6-prepare/native-standalone.yaml [deleted file]

diff --git a/qa/suites/rbd/migration-external/6-prepare/native-clone-conf.yaml b/qa/suites/rbd/migration-external/6-prepare/native-clone-conf.yaml
new file mode 100644 (file)
index 0000000..96fc001
--- /dev/null
@@ -0,0 +1,32 @@
+tasks:
+  - exec:
+      cluster2.client.0:
+        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0-src
+        - rbd --cluster cluster2 migration execute client.0.0-src
+        - rbd --cluster cluster2 migration commit client.0.0-src
+        - rbd --cluster cluster2 snap create client.0.0-src@snap
+        - rbd --cluster cluster2 snap protect client.0.0-src@snap
+        - rbd --cluster cluster2 clone client.0.0-src@snap client.0.0
+        - rbd --cluster cluster2 snap create client.0.0@snap
+        - rbd --cluster cluster2 create --size 1G client.0.1-src
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1-src
+        - rbd --cluster cluster2 snap create client.0.1-src@snap
+        - rbd --cluster cluster2 snap protect client.0.1-src@snap
+        - rbd --cluster cluster2 clone client.0.1-src@snap client.0.1
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1
+        - rbd --cluster cluster2 snap create client.0.1@snap
+        - rbd --cluster cluster2 create --size 1G client.0.2-src
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.2-src
+        - rbd --cluster cluster2 snap create client.0.2-src@snap
+        - rbd --cluster cluster2 snap protect client.0.2-src@snap
+        - rbd --cluster cluster2 clone client.0.2-src@snap client.0.2
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
+        - rbd --cluster cluster2 snap create client.0.2@snap
+        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
+  - exec:
+      cluster1.client.0:
+        - ceph --cluster cluster2 auth get client.0 -o /etc/ceph/cluster2.client.0.keyring
+        - ceph --cluster cluster1 auth caps client.0 mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd'
+        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
+        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
+        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-clone-key-ref.yaml b/qa/suites/rbd/migration-external/6-prepare/native-clone-key-ref.yaml
new file mode 100644 (file)
index 0000000..035ade0
--- /dev/null
@@ -0,0 +1,36 @@
+tasks:
+  - exec:
+      cluster2.client.0:
+        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0-src
+        - rbd --cluster cluster2 migration execute client.0.0-src
+        - rbd --cluster cluster2 migration commit client.0.0-src
+        - rbd --cluster cluster2 snap create client.0.0-src@snap
+        - rbd --cluster cluster2 snap protect client.0.0-src@snap
+        - rbd --cluster cluster2 clone client.0.0-src@snap client.0.0
+        - rbd --cluster cluster2 snap create client.0.0@snap
+        - rbd --cluster cluster2 create --size 1G client.0.1-src
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1-src
+        - rbd --cluster cluster2 snap create client.0.1-src@snap
+        - rbd --cluster cluster2 snap protect client.0.1-src@snap
+        - rbd --cluster cluster2 clone client.0.1-src@snap client.0.1
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1
+        - rbd --cluster cluster2 snap create client.0.1@snap
+        - rbd --cluster cluster2 create --size 1G client.0.2-src
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.2-src
+        - rbd --cluster cluster2 snap create client.0.2-src@snap
+        - rbd --cluster cluster2 snap protect client.0.2-src@snap
+        - rbd --cluster cluster2 clone client.0.2-src@snap client.0.2
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
+        - rbd --cluster cluster2 snap create client.0.2@snap
+        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
+  - exec:
+      cluster1.client.0:
+        - |
+          set -ex
+          MON_HOST="$(ceph-conf --cluster cluster2 mon_host)"
+          KEY="$(ceph --cluster cluster2 auth get-key client.0)"
+          ceph --cluster cluster1 config-key set rbd/migration/native/client.0/cluster2_key "$KEY"
+          ceph --cluster cluster1 auth caps client.0 mon 'profile rbd, allow command "config-key get" with key prefix rbd/migration/native/client.0/' mgr 'profile rbd' osd 'profile rbd'
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"config://rbd/migration/native/client.0/cluster2_key","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"config://rbd/migration/native/client.0/cluster2_key","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"config://rbd/migration/native/client.0/cluster2_key","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-clone-raw-key.yaml b/qa/suites/rbd/migration-external/6-prepare/native-clone-raw-key.yaml
new file mode 100644 (file)
index 0000000..279d162
--- /dev/null
@@ -0,0 +1,35 @@
+tasks:
+  - exec:
+      cluster2.client.0:
+        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0-src
+        - rbd --cluster cluster2 migration execute client.0.0-src
+        - rbd --cluster cluster2 migration commit client.0.0-src
+        - rbd --cluster cluster2 snap create client.0.0-src@snap
+        - rbd --cluster cluster2 snap protect client.0.0-src@snap
+        - rbd --cluster cluster2 clone client.0.0-src@snap client.0.0
+        - rbd --cluster cluster2 snap create client.0.0@snap
+        - rbd --cluster cluster2 create --size 1G client.0.1-src
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1-src
+        - rbd --cluster cluster2 snap create client.0.1-src@snap
+        - rbd --cluster cluster2 snap protect client.0.1-src@snap
+        - rbd --cluster cluster2 clone client.0.1-src@snap client.0.1
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1
+        - rbd --cluster cluster2 snap create client.0.1@snap
+        - rbd --cluster cluster2 create --size 1G client.0.2-src
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.2-src
+        - rbd --cluster cluster2 snap create client.0.2-src@snap
+        - rbd --cluster cluster2 snap protect client.0.2-src@snap
+        - rbd --cluster cluster2 clone client.0.2-src@snap client.0.2
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
+        - rbd --cluster cluster2 snap create client.0.2@snap
+        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
+  - exec:
+      cluster1.client.0:
+        - |
+          set -ex
+          MON_HOST="$(ceph-conf --cluster cluster2 mon_host)"
+          KEY="$(ceph --cluster cluster2 auth get-key client.0)"
+          ceph --cluster cluster1 auth caps client.0 mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd'
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"'"$KEY"'","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"'"$KEY"'","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"'"$KEY"'","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-clone.yaml b/qa/suites/rbd/migration-external/6-prepare/native-clone.yaml
deleted file mode 100644 (file)
index 96fc001..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-tasks:
-  - exec:
-      cluster2.client.0:
-        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0-src
-        - rbd --cluster cluster2 migration execute client.0.0-src
-        - rbd --cluster cluster2 migration commit client.0.0-src
-        - rbd --cluster cluster2 snap create client.0.0-src@snap
-        - rbd --cluster cluster2 snap protect client.0.0-src@snap
-        - rbd --cluster cluster2 clone client.0.0-src@snap client.0.0
-        - rbd --cluster cluster2 snap create client.0.0@snap
-        - rbd --cluster cluster2 create --size 1G client.0.1-src
-        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1-src
-        - rbd --cluster cluster2 snap create client.0.1-src@snap
-        - rbd --cluster cluster2 snap protect client.0.1-src@snap
-        - rbd --cluster cluster2 clone client.0.1-src@snap client.0.1
-        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.1
-        - rbd --cluster cluster2 snap create client.0.1@snap
-        - rbd --cluster cluster2 create --size 1G client.0.2-src
-        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 1M client.0.2-src
-        - rbd --cluster cluster2 snap create client.0.2-src@snap
-        - rbd --cluster cluster2 snap protect client.0.2-src@snap
-        - rbd --cluster cluster2 clone client.0.2-src@snap client.0.2
-        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
-        - rbd --cluster cluster2 snap create client.0.2@snap
-        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
-  - exec:
-      cluster1.client.0:
-        - ceph --cluster cluster2 auth get client.0 -o /etc/ceph/cluster2.client.0.keyring
-        - ceph --cluster cluster1 auth caps client.0 mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd'
-        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
-        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
-        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-standalone-conf.yaml b/qa/suites/rbd/migration-external/6-prepare/native-standalone-conf.yaml
new file mode 100644 (file)
index 0000000..9da9b79
--- /dev/null
@@ -0,0 +1,21 @@
+tasks:
+  - exec:
+      cluster2.client.0:
+        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0
+        - rbd --cluster cluster2 migration execute client.0.0
+        - rbd --cluster cluster2 migration commit client.0.0
+        - rbd --cluster cluster2 snap create client.0.0@snap
+        - rbd --cluster cluster2 create --size 1G client.0.1
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.1
+        - rbd --cluster cluster2 snap create client.0.1@snap
+        - rbd --cluster cluster2 create --size 1G client.0.2
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
+        - rbd --cluster cluster2 snap create client.0.2@snap
+        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
+  - exec:
+      cluster1.client.0:
+        - ceph --cluster cluster2 auth get client.0 -o /etc/ceph/cluster2.client.0.keyring
+        - ceph --cluster cluster1 auth caps client.0 mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd'
+        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
+        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
+        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-standalone-key-ref.yaml b/qa/suites/rbd/migration-external/6-prepare/native-standalone-key-ref.yaml
new file mode 100644 (file)
index 0000000..58c8083
--- /dev/null
@@ -0,0 +1,25 @@
+tasks:
+  - exec:
+      cluster2.client.0:
+        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0
+        - rbd --cluster cluster2 migration execute client.0.0
+        - rbd --cluster cluster2 migration commit client.0.0
+        - rbd --cluster cluster2 snap create client.0.0@snap
+        - rbd --cluster cluster2 create --size 1G client.0.1
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.1
+        - rbd --cluster cluster2 snap create client.0.1@snap
+        - rbd --cluster cluster2 create --size 1G client.0.2
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
+        - rbd --cluster cluster2 snap create client.0.2@snap
+        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
+  - exec:
+      cluster1.client.0:
+        - |
+          set -ex
+          MON_HOST="$(ceph-conf --cluster cluster2 mon_host)"
+          KEY="$(ceph --cluster cluster2 auth get-key client.0)"
+          ceph --cluster cluster1 config-key set rbd/migration/native/client.0/cluster2_key "$KEY"
+          ceph --cluster cluster1 auth caps client.0 mon 'profile rbd, allow command "config-key get" with key prefix rbd/migration/native/client.0/' mgr 'profile rbd' osd 'profile rbd'
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"config://rbd/migration/native/client.0/cluster2_key","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"config://rbd/migration/native/client.0/cluster2_key","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"config://rbd/migration/native/client.0/cluster2_key","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-standalone-raw-key.yaml b/qa/suites/rbd/migration-external/6-prepare/native-standalone-raw-key.yaml
new file mode 100644 (file)
index 0000000..ad70721
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+  - exec:
+      cluster2.client.0:
+        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0
+        - rbd --cluster cluster2 migration execute client.0.0
+        - rbd --cluster cluster2 migration commit client.0.0
+        - rbd --cluster cluster2 snap create client.0.0@snap
+        - rbd --cluster cluster2 create --size 1G client.0.1
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.1
+        - rbd --cluster cluster2 snap create client.0.1@snap
+        - rbd --cluster cluster2 create --size 1G client.0.2
+        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
+        - rbd --cluster cluster2 snap create client.0.2@snap
+        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
+  - exec:
+      cluster1.client.0:
+        - |
+          set -ex
+          MON_HOST="$(ceph-conf --cluster cluster2 mon_host)"
+          KEY="$(ceph --cluster cluster2 auth get-key client.0)"
+          ceph --cluster cluster1 auth caps client.0 mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd'
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"'"$KEY"'","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"'"$KEY"'","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
+          echo '{"type":"native","mon_host":"'"$MON_HOST"'","key":"'"$KEY"'","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2
diff --git a/qa/suites/rbd/migration-external/6-prepare/native-standalone.yaml b/qa/suites/rbd/migration-external/6-prepare/native-standalone.yaml
deleted file mode 100644 (file)
index 9da9b79..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-tasks:
-  - exec:
-      cluster2.client.0:
-        - echo '{"type":"qcow","stream":{"type":"http","url":"http://download.ceph.com/qa/ubuntu-12.04.qcow2"}}' | rbd --cluster cluster2 migration prepare --import-only --source-spec-path - client.0.0
-        - rbd --cluster cluster2 migration execute client.0.0
-        - rbd --cluster cluster2 migration commit client.0.0
-        - rbd --cluster cluster2 snap create client.0.0@snap
-        - rbd --cluster cluster2 create --size 1G client.0.1
-        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.1
-        - rbd --cluster cluster2 snap create client.0.1@snap
-        - rbd --cluster cluster2 create --size 1G client.0.2
-        - rbd --cluster cluster2 bench --io-type write --io-pattern rand --io-size 16K --io-threads 1 --io-total 2M client.0.2
-        - rbd --cluster cluster2 snap create client.0.2@snap
-        - ceph --cluster cluster2 auth caps client.0 mon 'profile rbd' mgr 'profile rbd-read-only' osd 'profile rbd-read-only'
-  - exec:
-      cluster1.client.0:
-        - ceph --cluster cluster2 auth get client.0 -o /etc/ceph/cluster2.client.0.keyring
-        - ceph --cluster cluster1 auth caps client.0 mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd'
-        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.0","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.0
-        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.1","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.1
-        - echo '{"type":"native","cluster_name":"cluster2","client_name":"client.0","pool_name":"rbd","image_name":"client.0.2","snap_name":"snap"}' | rbd --cluster cluster1 migration prepare --import-only --source-spec-path - client.0.2