From: Casey Bodley Date: Tue, 24 Feb 2026 14:41:00 +0000 (-0500) Subject: qa/rgw/multisite: remove boto2 BotoJSONEncoder X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=787de5b24e296bba80a9fc581bc5ec109a3ab069;p=ceph.git qa/rgw/multisite: remove boto2 BotoJSONEncoder removes leftover boto2 stuff to resolve `run-tox-qa` error: > tasks/rgw_multi/tools.py:52: error: Name "boto.s3.user.User" is not defined [name-defined] Signed-off-by: Casey Bodley --- diff --git a/src/test/rgw/rgw_multi/tests_es.py b/src/test/rgw/rgw_multi/tests_es.py index 2ee2b942300..238ce9c2d2d 100644 --- a/src/test/rgw/rgw_multi/tests_es.py +++ b/src/test/rgw/rgw_multi/tests_es.py @@ -41,8 +41,8 @@ def verify_search(bucket_name, src_keys, result_keys, f): check_keys.append(k) check_keys.sort(key = lambda l: (l.bucket.name, l.name, l.version_id)) - log.debug('check keys:' + dump_json(check_keys)) - log.debug('result keys:' + dump_json(result_keys)) + log.debug('check keys:' + json.dumps(check_keys, indent=4)) + log.debug('result keys:' + json.dumps(result_keys, indent=4)) for k1, k2 in zip_longest(check_keys, result_keys): assert k1 diff --git a/src/test/rgw/rgw_multi/tools.py b/src/test/rgw/rgw_multi/tools.py index 1c6fa0cfdf6..87d10d182ad 100644 --- a/src/test/rgw/rgw_multi/tools.py +++ b/src/test/rgw/rgw_multi/tools.py @@ -1,76 +1,3 @@ -import json -import boto - -def append_attr_value(d, attr, attrv): - if attrv and len(str(attrv)) > 0: - d[attr] = attrv - -def append_attr(d, k, attr): - try: - attrv = getattr(k, attr) - except: - return - append_attr_value(d, attr, attrv) - -def get_attrs(k, attrs): - d = {} - for a in attrs: - append_attr(d, k, a) - - return d - -class KeyJSONEncoder(boto.s3.key.Key): - @staticmethod - def default(k, versioned=False): - attrs = ['bucket', 'name', 'size', 'last_modified', 'metadata', 'cache_control', - 'content_type', 'content_disposition', 'content_language', - 'owner', 'storage_class', 'md5', 'version_id', 'encrypted', - 'delete_marker', 'expiry_date', 'VersionedEpoch', 'RgwxTag'] - d = get_attrs(k, attrs) - d['etag'] = k.etag[1:-1] - if versioned: - d['is_latest'] = k.is_latest - return d - -class DeleteMarkerJSONEncoder(boto.s3.key.Key): - @staticmethod - def default(k): - attrs = ['name', 'version_id', 'last_modified', 'owner'] - d = get_attrs(k, attrs) - d['delete_marker'] = True - d['is_latest'] = k.is_latest - return d - -class UserJSONEncoder(boto.s3.user.User): - @staticmethod - def default(k): - attrs = ['id', 'display_name'] - return get_attrs(k, attrs) - -class BucketJSONEncoder(boto.s3.bucket.Bucket): - @staticmethod - def default(k): - attrs = ['name', 'creation_date'] - return get_attrs(k, attrs) - -class BotoJSONEncoder(json.JSONEncoder): - def default(self, obj): - if isinstance(obj, boto.s3.key.Key): - return KeyJSONEncoder.default(obj) - if isinstance(obj, boto.s3.deletemarker.DeleteMarker): - return DeleteMarkerJSONEncoder.default(obj) - if isinstance(obj, boto.s3.user.User): - return UserJSONEncoder.default(obj) - if isinstance(obj, boto.s3.prefix.Prefix): - return (lambda x: {'prefix': x.name})(obj) - if isinstance(obj, boto.s3.bucket.Bucket): - return BucketJSONEncoder.default(obj) - return json.JSONEncoder.default(self, obj) - - -def dump_json(o, cls=BotoJSONEncoder): - return json.dumps(o, cls=cls, indent=4) - def assert_raises(excClass, callableObj, *args, **kwargs): """ Like unittest.TestCase.assertRaises, but returns the exception.