From: Cory Snyder Date: Wed, 12 Jul 2023 14:08:07 +0000 (+0000) Subject: rgw: fix/improve test_rgw_versioning.py tests X-Git-Tag: v16.2.14~7^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=5d8d0ac5b6ac5df14044af74250895f7d329348d;p=ceph.git rgw: fix/improve test_rgw_versioning.py tests Signed-off-by: Cory Snyder (cherry picked from commit aa1f40e80d78ce08a2f51dad6fadf620866d17a3) --- diff --git a/qa/suites/rgw/verify/tasks/versioning.yaml b/qa/suites/rgw/verify/tasks/versioning.yaml new file mode 100644 index 0000000000000..ab928f270e453 --- /dev/null +++ b/qa/suites/rgw/verify/tasks/versioning.yaml @@ -0,0 +1,5 @@ +tasks: +- workunit: + clients: + client.0: + - rgw/run-versioning.sh diff --git a/qa/suites/rgw/verify/tasks/versioning.yml b/qa/suites/rgw/verify/tasks/versioning.yml deleted file mode 100644 index ab928f270e453..0000000000000 --- a/qa/suites/rgw/verify/tasks/versioning.yml +++ /dev/null @@ -1,5 +0,0 @@ -tasks: -- workunit: - clients: - client.0: - - rgw/run-versioning.sh diff --git a/qa/workunits/rgw/test_rgw_reshard.py b/qa/workunits/rgw/test_rgw_reshard.py index d155449957870..54fddb469e9f5 100755 --- a/qa/workunits/rgw/test_rgw_reshard.py +++ b/qa/workunits/rgw/test_rgw_reshard.py @@ -1,6 +1,5 @@ #!/usr/bin/python3 -import errno import time import logging as log import json diff --git a/qa/workunits/rgw/test_rgw_versioning.py b/qa/workunits/rgw/test_rgw_versioning.py index d5ab2ec691f8e..fc69e138d41fa 100755 --- a/qa/workunits/rgw/test_rgw_versioning.py +++ b/qa/workunits/rgw/test_rgw_versioning.py @@ -4,6 +4,7 @@ import logging as log import json import uuid import botocore +import time from common import exec_cmd, create_user, boto_connect from botocore.config import Config @@ -61,7 +62,7 @@ def main(): connection.ObjectVersion(bucket.name, key, version_id).delete() # bucket index should now be empty out = exec_cmd(f'radosgw-admin bi list --bucket {BUCKET_NAME}') - json_out = json.loads(out) + json_out = json.loads(out.replace(b'\x80', b'0x80')) assert len(json_out) == 0, 'bucket index was not empty after all objects were deleted' (_out, ret) = exec_cmd(f'rados -p {DATA_POOL} ls | grep {key}', check_retcode=False) @@ -71,12 +72,13 @@ def main(): log.debug('TEST: verify that index entries and OLH objects are cleaned up after index linking error\n') key = str(uuid.uuid4()) try: - exec_cmd('ceph config set client.rgw rgw_debug_inject_set_olh_err 2') + exec_cmd('ceph config set client rgw_debug_inject_set_olh_err 2') + time.sleep(1) bucket.Object(key).delete() finally: - exec_cmd('ceph config rm client.rgw rgw_debug_inject_set_olh_err') + exec_cmd('ceph config rm client rgw_debug_inject_set_olh_err') out = exec_cmd(f'radosgw-admin bi list --bucket {BUCKET_NAME}') - json_out = json.loads(out) + json_out = json.loads(out.replace(b'\x80', b'0x80')) assert len(json_out) == 0, 'bucket index was not empty after op failed' (_out, ret) = exec_cmd(f'rados -p {DATA_POOL} ls | grep {key}', check_retcode=False) assert ret != 0, 'olh object was not cleaned up' @@ -88,13 +90,14 @@ def main(): put_resp = bucket.put_object(Key=key, Body=b"data") connection.BucketVersioning(BUCKET_NAME).enable() try: - exec_cmd('ceph config set client.rgw rgw_debug_inject_set_olh_err 2') + exec_cmd('ceph config set client rgw_debug_inject_set_olh_err 2') + time.sleep(1) # expected to fail due to the above error injection bucket.put_object(Key=key, Body=b"new data") except Exception as e: log.debug(e) finally: - exec_cmd('ceph config rm client.rgw rgw_debug_inject_set_olh_err') + exec_cmd('ceph config rm client rgw_debug_inject_set_olh_err') get_resp = bucket.Object(key).get() assert put_resp.e_tag == get_resp['ETag'], 'get did not return null version with correct etag'