From: Ilya Dryomov Date: Thu, 8 Jun 2017 13:57:59 +0000 (+0200) Subject: qa: update krbd_data_pool.sh to match the new rados ls behavior X-Git-Tag: v12.1.0~201^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a3e23a7c3cb1ee81f6565ecc6d68d2c7fe5fad3a;p=ceph.git qa: update krbd_data_pool.sh to match the new rados ls behavior See commit e9973adf1fb7 ("PendingReleaseNotes: notes on whiteouts vs pgnls"). Signed-off-by: Ilya Dryomov --- diff --git a/qa/workunits/rbd/krbd_data_pool.sh b/qa/workunits/rbd/krbd_data_pool.sh index 0b7b6c933ec8e..c3f48e3816dc8 100755 --- a/qa/workunits/rbd/krbd_data_pool.sh +++ b/qa/workunits/rbd/krbd_data_pool.sh @@ -67,6 +67,16 @@ function mkfs_and_mount() { sudo rbd unmap $dev } +function list_HEADs() { + local pool=$1 + + rados -p $pool ls | while read obj; do + if rados -p $pool stat $obj >/dev/null 2>&1; then + echo $obj + fi + done +} + function count_data_objects() { local spec=$1 @@ -78,7 +88,14 @@ function count_data_objects() { local prefix prefix=$(rbd info $spec | grep 'block_name_prefix: ' | awk '{ print $NF }') - echo $(rados -p $pool ls | grep -c $prefix) + rados -p $pool ls | grep -c $prefix +} + +function get_num_clones() { + local pool=$1 + + rados -p $pool --format=json df | + python -c 'import sys, json; print json.load(sys.stdin)["pools"][0]["num_object_clones"]' } ceph osd pool create repdata 24 24 @@ -146,6 +163,12 @@ for pool in rbd rbdnonzero; do done done +[[ $(get_num_clones rbd) -eq 0 ]] +[[ $(get_num_clones repdata) -eq 0 ]] +[[ $(get_num_clones ecdata) -eq 0 ]] +[[ $(get_num_clones rbdnonzero) -eq 0 ]] +[[ $(get_num_clones clonesonly) -eq 0 ]] + for pool in rbd rbdnonzero; do for i in {0..3}; do compare $pool/img$i $OBJECT_X @@ -161,10 +184,16 @@ for pool in rbd rbdnonzero; do done # mkfs should discard some objects everywhere but in clonesonly -[[ $(rados -p rbd ls | wc -l) -lt $((NUM_META_RBDS + 5 * NUM_OBJECTS)) ]] -[[ $(rados -p repdata ls | wc -l) -lt $((1 + 14 * NUM_OBJECTS)) ]] -[[ $(rados -p ecdata ls | wc -l) -lt $((1 + 14 * NUM_OBJECTS)) ]] -[[ $(rados -p rbdnonzero ls | wc -l) -lt $((NUM_META_RBDS + 5 * NUM_OBJECTS)) ]] -[[ $(rados -p clonesonly ls | wc -l) -eq $((NUM_META_CLONESONLY + 6 * NUM_OBJECTS)) ]] +[[ $(list_HEADs rbd | wc -l) -lt $((NUM_META_RBDS + 5 * NUM_OBJECTS)) ]] +[[ $(list_HEADs repdata | wc -l) -lt $((1 + 14 * NUM_OBJECTS)) ]] +[[ $(list_HEADs ecdata | wc -l) -lt $((1 + 14 * NUM_OBJECTS)) ]] +[[ $(list_HEADs rbdnonzero | wc -l) -lt $((NUM_META_RBDS + 5 * NUM_OBJECTS)) ]] +[[ $(list_HEADs clonesonly | wc -l) -eq $((NUM_META_CLONESONLY + 6 * NUM_OBJECTS)) ]] + +[[ $(get_num_clones rbd) -eq $NUM_OBJECTS ]] +[[ $(get_num_clones repdata) -eq $((2 * NUM_OBJECTS)) ]] +[[ $(get_num_clones ecdata) -eq $((2 * NUM_OBJECTS)) ]] +[[ $(get_num_clones rbdnonzero) -eq $NUM_OBJECTS ]] +[[ $(get_num_clones clonesonly) -eq 0 ]] echo OK