]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/workunits/rbd: test data pool is mirrored correctly 17077/head
authorMykola Golub <mgolub@mirantis.com>
Thu, 17 Aug 2017 07:58:18 +0000 (09:58 +0200)
committerJason Dillaman <dillaman@redhat.com>
Thu, 17 Aug 2017 22:25:11 +0000 (18:25 -0400)
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit c4c7075029f20f238585145c464a8c972d9ad038)

qa/workunits/rbd/rbd_mirror.sh
qa/workunits/rbd/rbd_mirror_helpers.sh

index 021cbaf03f740ed5bf58ba0ccc9b0ac3e5a2f03d..04a03a66e5cfc82bed406a43f7ecd48199ecb7b0 100755 (executable)
@@ -216,6 +216,24 @@ compare_images ${POOL} ${clone_image}
 expect_failure "is non-primary" clone_image ${CLUSTER1} ${PARENT_POOL} \
     ${parent_image} ${parent_snap} ${POOL} ${clone_image}1
 
+testlog "TEST: data pool"
+dp_image=test_data_pool
+create_image ${CLUSTER2} ${POOL} ${dp_image} 128 --data-pool ${PARENT_POOL}
+data_pool=$(get_image_data_pool ${CLUSTER2} ${POOL} ${dp_image})
+test "${data_pool}" = "${PARENT_POOL}"
+wait_for_image_replay_started ${CLUSTER1} ${POOL} ${dp_image}
+data_pool=$(get_image_data_pool ${CLUSTER1} ${POOL} ${dp_image})
+test "${data_pool}" = "${PARENT_POOL}"
+create_snapshot ${CLUSTER2} ${POOL} ${dp_image} 'snap1'
+write_image ${CLUSTER2} ${POOL} ${dp_image} 100
+create_snapshot ${CLUSTER2} ${POOL} ${dp_image} 'snap2'
+write_image ${CLUSTER2} ${POOL} ${dp_image} 100
+wait_for_replay_complete ${CLUSTER1} ${CLUSTER2} ${POOL} ${dp_image}
+wait_for_status_in_pool_dir ${CLUSTER1} ${POOL} ${dp_image} 'up+replaying' 'master_position'
+compare_images ${POOL} ${dp_image}@snap1
+compare_images ${POOL} ${dp_image}@snap2
+compare_images ${POOL} ${dp_image}
+
 testlog "TEST: disable mirroring / delete non-primary image"
 image2=test2
 image3=test3
index f825bec8549db559417cb7bd5b8ba2b22aeb187e..23216711e6ac3c86f49e082c74b2a88e133fbffe 100755 (executable)
@@ -867,6 +867,16 @@ request_resync_image()
     rbd --cluster=${cluster} -p ${pool} mirror image resync ${image}
 }
 
+get_image_data_pool()
+{
+    local cluster=$1
+    local pool=$2
+    local image=$3
+
+    rbd --cluster ${cluster} -p ${pool} info ${image} |
+        awk '$1 == "data_pool:" {print $2}'
+}
+
 #
 # Main
 #