]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix/improve test_rgw_versioning.py tests 52538/head
authorCory Snyder <csnyder@1111systems.com>
Wed, 12 Jul 2023 14:08:07 +0000 (14:08 +0000)
committerCory Snyder <csnyder@1111systems.com>
Mon, 28 Aug 2023 14:16:21 +0000 (10:16 -0400)
Signed-off-by: Cory Snyder <csnyder@1111systems.com>
(cherry picked from commit aa1f40e80d78ce08a2f51dad6fadf620866d17a3)

qa/suites/rgw/verify/tasks/versioning.yaml [new file with mode: 0644]
qa/suites/rgw/verify/tasks/versioning.yml [deleted file]
qa/workunits/rgw/test_rgw_reshard.py
qa/workunits/rgw/test_rgw_versioning.py

diff --git a/qa/suites/rgw/verify/tasks/versioning.yaml b/qa/suites/rgw/verify/tasks/versioning.yaml
new file mode 100644 (file)
index 0000000..ab928f2
--- /dev/null
@@ -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 (file)
index ab928f2..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-tasks:
-- workunit:
-    clients:
-      client.0:
-        - rgw/run-versioning.sh
index d15544995787086a308462f5a82d6e83d8534510..54fddb469e9f5a4718b79260d5fc3517613abaad 100755 (executable)
@@ -1,6 +1,5 @@
 #!/usr/bin/python3
 
-import errno
 import time
 import logging as log
 import json
index d5ab2ec691f8e1aa8be7b0ff810db3b4cea85ca2..fc69e138d41fa9bb045eaaf38a088f95bc1115e8 100755 (executable)
@@ -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'