+ IMAGE_FEATURES=layering,exclusive-lock,object-map,fast-diff ++ mktemp + KEYRING=/tmp/tmp.MIFhN9RmLb + trap cleanup EXIT ERR HUP INT QUIT + delete_users + create_users + ceph auth get-or-create client.volumes mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd-read-only pool=images' mgr 'profile rbd pool=volumes, profile rbd-read-only pool=images' + ceph auth get-or-create client.images mon 'profile rbd' osd 'profile rbd pool=images' + ceph auth get-or-create client.snap_none mon 'allow r' + ceph auth get-or-create client.snap_all mon 'allow r' osd 'allow w' + ceph auth get-or-create client.snap_pool mon 'allow r' osd 'allow w pool=images' + ceph auth get-or-create client.snap_profile_all mon 'allow r' osd 'profile rbd' + ceph auth get-or-create client.snap_profile_pool mon 'allow r' osd 'profile rbd pool=images' + ceph auth get-or-create client.mon_write mon 'allow *' + recreate_pools + delete_pools + create_pools + ceph osd pool create images 32 pool 'images' created + rbd pool init images + ceph osd pool create volumes 32 pool 'volumes' created + rbd pool init volumes + test_images_access + rbd -k /tmp/tmp.MIFhN9RmLb --id images create --image-format 2 --image-feature layering,exclusive-lock,object-map,fast-diff -s 1 images/foo + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap create images/foo@snap Creating snap: 10% complete... Creating snap: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap protect images/foo@snap + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap protect images/foo@snap + rbd -k /tmp/tmp.MIFhN9RmLb --id images export images/foo@snap - Exporting image: 100% complete...done. + expect 16 rbd -k /tmp/tmp.MIFhN9RmLb --id images snap rm images/foo@snap + set +e + local expected_ret=16 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images snap rm images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images snap rm images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images snap rm images/foo@snap 2023-06-01T05:11:53.442-0400 7f6dcbfff640 -1 librbd::Operations: snapshot is protected Removing snap: 0% complete...failed. rbd: snapshot 'snap' is protected from removal. + ret=16 + set -e + [[ 16 -ne 16 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes clone --image-feature layering,exclusive-lock,object-map,fast-diff images/foo@snap volumes/child + clone_v2_enabled images/foo + image_spec=images/foo + rbd info images/foo + grep clone-parent + expect 16 rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + set +e + local expected_ret=16 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap 2023-06-01T05:11:53.747-0400 7fafb5998640 -1 librbd::SnapshotUnprotectRequest: cannot unprotect: at least 1 child(ren) [65309999d58c] in pool 'volumes' 2023-06-01T05:11:53.747-0400 7fafb5998640 -1 librbd::SnapshotUnprotectRequest: encountered error: (16) Device or resource busy 2023-06-01T05:11:53.747-0400 7fafb5998640 -1 librbd::SnapshotUnprotectRequest: 0x55631c6bdb90 should_complete_error: ret_val=-16 rbd: unprotecting snap failed: (16) Device or resource busy 2023-06-01T05:11:53.752-0400 7fafb6199640 -1 librbd::SnapshotUnprotectRequest: 0x55631c6bdb90 should_complete_error: ret_val=-16 + ret=16 + set -e + [[ 16 -ne 16 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap 2023-06-01T05:11:53.794-0400 7f32a27fc640 -1 librbd::Watcher: 0x7f328c0077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:11:53.794-0400 7f32a2ffd640 -1 librbd::ImageState: 0x557ba6907300 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id images flatten volumes/child + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images flatten volumes/child' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images flatten volumes/child ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images flatten volumes/child 2023-06-01T05:11:53.830-0400 7f44d2ffd640 -1 librbd::image::OpenRequest: failed to stat v2 image header: (1) Operation not permitted 2023-06-01T05:11:53.830-0400 7f44d2ffd640 -1 librbd::ImageState: 0x555cb6398360 failed to open image: (1) Operation not permitted rbd: error opening image child: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes flatten volumes/child Image flatten: 100% complete...done. + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap 2023-06-01T05:11:53.998-0400 7f4e1524a640 -1 librbd::Watcher: 0x7f4df80077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:11:53.998-0400 7f4e1524a640 -1 librbd::ImageState: 0x56494b80a3a0 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + expect 39 rbd -k /tmp/tmp.MIFhN9RmLb --id images rm images/foo + set +e + local expected_ret=39 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images rm images/foo' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images rm images/foo ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images rm images/foo Removing image: 0% complete...failed. rbd: image has snapshots - these must be deleted with 'rbd snap purge' before the image can be removed. + ret=39 + set -e + [[ 39 -ne 39 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap rm images/foo@snap Removing snap: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id images rm images/foo Removing image: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes rm volumes/child Removing image: 100% complete...done. + recreate_pools + delete_pools + create_pools + ceph osd pool create images 32 pool 'images' created + rbd pool init images + ceph osd pool create volumes 32 pool 'volumes' created + rbd pool init volumes + test_volumes_access + rbd -k /tmp/tmp.MIFhN9RmLb --id images create --image-format 2 --image-feature layering,exclusive-lock,object-map,fast-diff -s 1 images/foo + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap create images/foo@snap Creating snap: 10% complete... Creating snap: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap protect images/foo@snap + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes info images/foo@snap rbd image 'foo': size 1 MiB in 1 objects order 22 (4 MiB objects) snapshot_count: 1 id: 65c85d2f7d2f block_name_prefix: rbd_data.65c85d2f7d2f format: 2 features: layering, exclusive-lock, object-map, fast-diff op_features: flags: create_timestamp: Thu Jun 1 05:12:05 2023 access_timestamp: Thu Jun 1 05:12:05 2023 modify_timestamp: Thu Jun 1 05:12:05 2023 protected: True + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap ls images/foo SNAPID NAME SIZE PROTECTED TIMESTAMP 4 snap 1 MiB yes Thu Jun 1 05:12:06 2023 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes export images/foo - Exporting image: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes cp images/foo volumes/foo_copy Image copy: 100% complete... Image copy: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes rm volumes/foo_copy Removing image: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes children images/foo@snap + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock list images/foo + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes resize -s 2 images/foo --allow-shrink + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes resize -s 2 images/foo --allow-shrink' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes resize -s 2 images/foo --allow-shrink ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes resize -s 2 images/foo --allow-shrink 2023-06-01T05:12:06.798-0400 7fe9477fe640 -1 librbd::Watcher: 0x7fe9380077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:06.799-0400 7fe947fff640 -1 librbd::ImageState: 0x5572139ef6e0 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap create images/foo@2 + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap create images/foo@2' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap create images/foo@2 ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap create images/foo@2 2023-06-01T05:12:06.849-0400 7fc4a564a640 -1 librbd::Watcher: 0x7fc4880077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:06.849-0400 7fc4a5e4b640 -1 librbd::ImageState: 0x556b2f09e820 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rollback images/foo@snap + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rollback images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rollback images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rollback images/foo@snap 2023-06-01T05:12:06.893-0400 7f19f27fc640 -1 librbd::Watcher: 0x7f19dc0077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:06.893-0400 7f19f2ffd640 -1 librbd::ImageState: 0x55ab330e92f0 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap remove images/foo@snap + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap remove images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap remove images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap remove images/foo@snap 2023-06-01T05:12:06.934-0400 7f2aabfff640 -1 librbd::Watcher: 0x7f2a9c0077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:06.934-0400 7f2ab884a640 -1 librbd::ImageState: 0x56015e6914f0 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap purge images/foo + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap purge images/foo' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap purge images/foo ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap purge images/foo 2023-06-01T05:12:06.977-0400 7f5786e4b640 -1 librbd::Watcher: 0x7f57680077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:06.977-0400 7f5786e4b640 -1 librbd::ImageState: 0x55fa923183b0 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect images/foo@snap 2023-06-01T05:12:07.023-0400 7f4aa0e49640 -1 librbd::Watcher: 0x7f4a880077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:07.023-0400 7f4aa164a640 -1 librbd::ImageState: 0x5647962ed350 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes flatten images/foo + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes flatten images/foo' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes flatten images/foo ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes flatten images/foo 2023-06-01T05:12:07.071-0400 7fc28b7fe640 -1 librbd::Watcher: 0x7fc27c0077e0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:07.071-0400 7fc28affd640 -1 librbd::ImageState: 0x558e0ec65340 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock add images/foo test + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock add images/foo test' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock add images/foo test ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock add images/foo test 2023-06-01T05:12:07.113-0400 7f401144a640 -1 librbd::Watcher: 0x7f3ff80077a0 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:07.113-0400 7f401144a640 -1 librbd::ImageState: 0x55f59de6fa10 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock remove images/foo test locker + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock remove images/foo test locker' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock remove images/foo test locker ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes lock remove images/foo test locker 2023-06-01T05:12:07.154-0400 7fe830a49640 -1 librbd::Watcher: 0x7fe818007740 handle_register_watch: failed to register watch: (1) Operation not permitted 2023-06-01T05:12:07.155-0400 7fe83124a640 -1 librbd::ImageState: 0x561e8c52ced0 failed to open image: (1) Operation not permitted rbd: error opening image foo: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes ls rbd + set +e + local expected_ret=1 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes ls rbd' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes ls rbd ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes ls rbd 2023-06-01T05:12:07.186-0400 7f5919cbeb80 -1 librbd::api::Image: list_images: error listing v1 images: (1) Operation not permitted rbd: listing images failed: (1) Operation not permitted + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes clone --image-feature layering,exclusive-lock,object-map,fast-diff images/foo@snap volumes/child + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap create volumes/child@snap1 Creating snap: 10% complete... Creating snap: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap protect volumes/child@snap1 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap create volumes/child@snap2 Creating snap: 10% complete... Creating snap: 100% complete...done. + clone_v2_enabled images/foo + image_spec=images/foo + rbd info images/foo + grep clone-parent + expect 16 rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + set +e + local expected_ret=16 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap 2023-06-01T05:12:08.645-0400 7fd05644a640 -1 librbd::SnapshotUnprotectRequest: cannot unprotect: at least 1 child(ren) [661416d347f5] in pool 'volumes' 2023-06-01T05:12:08.654-0400 7fd05644a640 -1 librbd::SnapshotUnprotectRequest: encountered error: (16) Device or resource busy 2023-06-01T05:12:08.654-0400 7fd05644a640 -1 librbd::SnapshotUnprotectRequest: 0x55a4e1adab90 should_complete_error: ret_val=-16 rbd: unprotecting snap failed: 2023-06-01T05:12:08.676-0400 7fd056c4b640 -1 librbd::SnapshotUnprotectRequest: 0x55a4e1adab90 should_complete_error: ret_val=-16 (16) Device or resource busy + ret=16 + set -e + [[ 16 -ne 16 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes flatten volumes/child Image flatten: 100% complete...done. + expect 16 rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + set +e + local expected_ret=16 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap 2023-06-01T05:12:08.890-0400 7f534a599640 -1 librbd::SnapshotUnprotectRequest: cannot unprotect: at least 1 child(ren) [661416d347f5] in pool 'volumes' 2023-06-01T05:12:08.890-0400 7f534ad9a640 -1 librbd::SnapshotUnprotectRequest: encountered error: (16) Device or resource busy 2023-06-01T05:12:08.890-0400 7f534ad9a640 -1 librbd::SnapshotUnprotectRequest: 0x560f3fcdeb90 should_complete_error: ret_val=-16 2023-06-01T05:12:08.975-0400 7f534a599640 -1 librbd::SnapshotUnprotectRequest: 0x560f3fcdeb90 should_complete_error: ret_val=-16 rbd: unprotecting snap failed: (16) Device or resource busy + ret=16 + set -e + [[ 16 -ne 16 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rm volumes/child@snap2 Removing snap: 100% complete...done. + expect 16 rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + set +e + local expected_ret=16 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap 2023-06-01T05:12:09.645-0400 7f20a579a640 -1 librbd::SnapshotUnprotectRequest: cannot unprotect: at least 1 child(ren) [661416d347f5] in pool 'volumes' 2023-06-01T05:12:09.652-0400 7f20a4f99640 -1 librbd::SnapshotUnprotectRequest: encountered error: (16) Device or resource busy 2023-06-01T05:12:09.652-0400 7f20a4f99640 -1 librbd::SnapshotUnprotectRequest: 0x55568b45ab90 should_complete_error: ret_val=-16 rbd: unprotecting snap failed: 2023-06-01T05:12:09.662-0400 7f20a579a640 -1 librbd::SnapshotUnprotectRequest: 0x55568b45ab90 should_complete_error: ret_val=-16 (16) Device or resource busy + ret=16 + set -e + [[ 16 -ne 16 ]] + return 0 + expect 2 rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rm volumes/child@snap2 + set +e + local expected_ret=2 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rm volumes/child@snap2' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rm volumes/child@snap2 ++ rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rm volumes/child@snap2 Removing snap: 0% complete...failed. rbd: failed to remove snapshot: (2) No such file or directory + ret=2 + set -e + [[ 2 -ne 2 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap unprotect volumes/child@snap1 + expect 16 rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + set +e + local expected_ret=16 + local ret + shift + cmd='rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap' + eval rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap ++ rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap 2023-06-01T05:12:09.860-0400 7f351184b640 -1 librbd::SnapshotUnprotectRequest: cannot unprotect: at least 1 child(ren) [661416d347f5] in pool 'volumes' 2023-06-01T05:12:09.860-0400 7f351184b640 -1 librbd::SnapshotUnprotectRequest: encountered error: (16) Device or resource busy 2023-06-01T05:12:09.860-0400 7f351184b640 -1 librbd::SnapshotUnprotectRequest: 0x55710239db90 should_complete_error: ret_val=-16 2023-06-01T05:12:09.864-0400 7f351104a640 -1 librbd::SnapshotUnprotectRequest: 0x55710239db90 should_complete_error: ret_val=-16 rbd: unprotecting snap failed: (16) Device or resource busy + ret=16 + set -e + [[ 16 -ne 16 ]] + return 0 + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes snap rm volumes/child@snap1 Removing snap: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap unprotect images/foo@snap + rbd -k /tmp/tmp.MIFhN9RmLb --id images snap rm images/foo@snap Removing snap: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id images rm images/foo Removing image: 100% complete...done. + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes rm volumes/child Removing image: 100% complete...done. + test_remove_self_managed_snapshots + expect 1 create_self_managed_snapshot snap_none images + set +e + local expected_ret=1 + local ret + shift + cmd='create_self_managed_snapshot snap_none images' + eval create_self_managed_snapshot snap_none images ++ create_self_managed_snapshot snap_none images ++ ID=snap_none ++ POOL=images ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Traceback (most recent call last): File "", line 6, in File "rados.pyx", line 3492, in rados.Ioctx.create_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to create self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 create_self_managed_snapshot snap_none volumes + set +e + local expected_ret=1 + local ret + shift + cmd='create_self_managed_snapshot snap_none volumes' + eval create_self_managed_snapshot snap_none volumes ++ create_self_managed_snapshot snap_none volumes ++ ID=snap_none ++ POOL=volumes ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Traceback (most recent call last): File "", line 6, in File "rados.pyx", line 3492, in rados.Ioctx.create_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to create self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + create_self_managed_snapshot snap_all images + ID=snap_all + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 6 + create_self_managed_snapshot snap_all volumes + ID=snap_all + POOL=volumes + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 8 + create_self_managed_snapshot snap_pool images + ID=snap_pool + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 7 + expect 1 create_self_managed_snapshot snap_pool volumes + set +e + local expected_ret=1 + local ret + shift + cmd='create_self_managed_snapshot snap_pool volumes' + eval create_self_managed_snapshot snap_pool volumes ++ create_self_managed_snapshot snap_pool volumes ++ ID=snap_pool ++ POOL=volumes ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 ++ cat Traceback (most recent call last): File "", line 6, in File "rados.pyx", line 3492, in rados.Ioctx.create_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to create self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + create_self_managed_snapshot snap_profile_all images + ID=snap_profile_all + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 8 + create_self_managed_snapshot snap_profile_all volumes + ID=snap_profile_all + POOL=volumes + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 9 + create_self_managed_snapshot snap_profile_pool images + ID=snap_profile_pool + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 9 + expect 1 create_self_managed_snapshot snap_profile_pool volumes + set +e + local expected_ret=1 + local ret + shift + cmd='create_self_managed_snapshot snap_profile_pool volumes' + eval create_self_managed_snapshot snap_profile_pool volumes ++ create_self_managed_snapshot snap_profile_pool volumes ++ ID=snap_profile_pool ++ POOL=volumes ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Traceback (most recent call last): File "", line 6, in File "rados.pyx", line 3492, in rados.Ioctx.create_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to create self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 remove_self_managed_snapshot snap_none images + set +e + local expected_ret=1 + local ret + shift + cmd='remove_self_managed_snapshot snap_none images' + eval remove_self_managed_snapshot snap_none images ++ remove_self_managed_snapshot snap_none images ++ ID=snap_none ++ POOL=images ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Created snap id 10 Traceback (most recent call last): File "", line 11, in File "rados.pyx", line 3510, in rados.Ioctx.remove_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to remove self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + expect 1 remove_self_managed_snapshot snap_none volumes + set +e + local expected_ret=1 + local ret + shift + cmd='remove_self_managed_snapshot snap_none volumes' + eval remove_self_managed_snapshot snap_none volumes ++ remove_self_managed_snapshot snap_none volumes ++ ID=snap_none ++ POOL=volumes ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Created snap id 10 Traceback (most recent call last): File "", line 11, in File "rados.pyx", line 3510, in rados.Ioctx.remove_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to remove self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + remove_self_managed_snapshot snap_all images + ID=snap_all + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 11 Removed snap id 11 + remove_self_managed_snapshot snap_all volumes + ID=snap_all + POOL=volumes + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 11 Removed snap id 11 + remove_self_managed_snapshot snap_pool images + ID=snap_pool + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 13 Removed snap id 13 + expect 1 remove_self_managed_snapshot snap_pool volumes + set +e + local expected_ret=1 + local ret + shift + cmd='remove_self_managed_snapshot snap_pool volumes' + eval remove_self_managed_snapshot snap_pool volumes ++ remove_self_managed_snapshot snap_pool volumes ++ ID=snap_pool ++ POOL=volumes ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Created snap id 13 Traceback (most recent call last): File "", line 11, in File "rados.pyx", line 3510, in rados.Ioctx.remove_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to remove self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + remove_self_managed_snapshot snap_profile_all images + ID=snap_profile_all + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 15 Removed snap id 15 + remove_self_managed_snapshot snap_profile_all volumes + ID=snap_profile_all + POOL=volumes + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 14 Removed snap id 14 + remove_self_managed_snapshot snap_profile_pool images + ID=snap_profile_pool + POOL=images + cat + CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' + python3 Created snap id 17 Removed snap id 17 + expect 1 remove_self_managed_snapshot snap_profile_pool volumes + set +e + local expected_ret=1 + local ret + shift + cmd='remove_self_managed_snapshot snap_profile_pool volumes' + eval remove_self_managed_snapshot snap_profile_pool volumes ++ remove_self_managed_snapshot snap_profile_pool volumes ++ ID=snap_profile_pool ++ POOL=volumes ++ cat ++ CEPH_ARGS='-k /tmp/tmp.MIFhN9RmLb' ++ python3 Created snap id 16 Traceback (most recent call last): File "", line 11, in File "rados.pyx", line 3510, in rados.Ioctx.remove_self_managed_snap rados.PermissionError: [errno 1] RADOS permission error (Failed to remove self-managed snapshot) + ret=1 + set -e + [[ 1 -ne 1 ]] + return 0 + test_rbd_support + ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd perf image stats volumes {"timestamp": 1685610753.0, "stat_descriptors": ["write_ops", "read_ops", "write_bytes", "read_bytes", "write_latency", "read_latency"], "pool_descriptors": {}, "stats": []} + ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd perf image stats images {"timestamp": 1685610754.0, "stat_descriptors": ["write_ops", "read_ops", "write_bytes", "read_bytes", "write_latency", "read_latency"], "pool_descriptors": {}, "stats": []} + rbd -k /tmp/tmp.MIFhN9RmLb --id volumes create --image-format 2 --image-feature layering,exclusive-lock,object-map,fast-diff -s 1 volumes/foo + ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd task add remove volumes/foo {"sequence": 1, "id": "cfc4b510-6c6a-4afc-a502-ede17ef511d0", "message": "Removing image volumes/foo", "refs": {"action": "remove", "pool_name": "volumes", "pool_namespace": "", "image_name": "foo", "image_id": "42c6c5f8c03a"}} + expect 13 ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd task add remove images/foo + set +e + local expected_ret=13 + local ret + shift + cmd='ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd task add remove images/foo' + eval ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd task add remove images/foo ++ ceph -k /tmp/tmp.MIFhN9RmLb --id volumes rbd task add remove images/foo Error EACCES: not authorized on pool=images, namespace=access denied: does your client key have mgr caps? See http://docs.ceph.com/en/latest/mgr/administrator/#client-authentication + ret=13 + set -e + [[ 13 -ne 13 ]] + return 0 + delete_pools + delete_users + echo OK OK + exit 0 + cleanup + rm -f /tmp/tmp.MIFhN9RmLb