Skip to content

Commit

Permalink
Merge pull request #20491 from dillaman/wip-23043
Browse files Browse the repository at this point in the history
qa/workunits/rbd: fix issues within permissions test

Reviewed-by: Mykola Golub <mgolub@suse.com>
  • Loading branch information
trociny committed Feb 20, 2018
2 parents 6f6d210 + 1374acd commit c6d9ae9
Showing 1 changed file with 26 additions and 11 deletions.
37 changes: 26 additions & 11 deletions qa/workunits/rbd/permissions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ set -ex

IMAGE_FEATURES="layering,exclusive-lock,object-map,fast-diff"

clone_v2_enabled() {
image_spec=$1
rbd info $image_spec | grep "clone-parent"
}

create_pools() {
ceph osd pool create images 32
rbd pool init images
Expand All @@ -27,8 +32,8 @@ delete_users() {
}

create_users() {
ceph auth get-or-create client.volumes mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow r class-read pool images, allow rwx pool volumes' >> $KEYRING
ceph auth get-or-create client.images mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool images' >> $KEYRING
ceph auth get-or-create client.volumes mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd-read-only pool=images' >> $KEYRING
ceph auth get-or-create client.images mon 'profile rbd' osd 'profile rbd pool=images' >> $KEYRING
}

expect() {
Expand Down Expand Up @@ -64,7 +69,11 @@ test_images_access() {
expect 16 rbd -k $KEYRING --id images snap rm images/foo@snap

rbd -k $KEYRING --id volumes clone --image-feature $IMAGE_FEATURES images/foo@snap volumes/child
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap

if ! clone_v2_enabled images/foo; then
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
fi

expect 1 rbd -k $KEYRING --id volumes snap unprotect images/foo@snap
expect 1 rbd -k $KEYRING --id images flatten volumes/child
rbd -k $KEYRING --id volumes flatten volumes/child
Expand Down Expand Up @@ -110,14 +119,20 @@ test_volumes_access() {
rbd -k $KEYRING --id volumes snap create volumes/child@snap2

# make sure original snapshot stays protected
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
rbd -k $KEYRING --id volumes flatten volumes/child
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
rbd -k $KEYRING --id volumes snap rm volumes/child@snap2
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
expect 2 rbd -k $KEYRING --id volumes snap rm volumes/child@snap2
rbd -k $KEYRING --id volumes snap unprotect volumes/child@snap1
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
if clone_v2_enabled images/foo; then
rbd -k $KEYRING --id volumes flatten volumes/child
rbd -k $KEYRING --id volumes snap rm volumes/child@snap2
rbd -k $KEYRING --id volumes snap unprotect volumes/child@snap1
else
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
rbd -k $KEYRING --id volumes flatten volumes/child
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
rbd -k $KEYRING --id volumes snap rm volumes/child@snap2
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
expect 2 rbd -k $KEYRING --id volumes snap rm volumes/child@snap2
rbd -k $KEYRING --id volumes snap unprotect volumes/child@snap1
expect 16 rbd -k $KEYRING --id images snap unprotect images/foo@snap
fi

# clean up
rbd -k $KEYRING --id volumes snap rm volumes/child@snap1
Expand Down

0 comments on commit c6d9ae9

Please sign in to comment.