From: Casey Bodley Date: Mon, 12 Dec 2022 17:32:21 +0000 (-0500) Subject: qa/rgw: rgw/verify suite randomizes --placement-inline-data X-Git-Tag: v18.1.0~606^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=99262dc4086c1181bcd6102eb3722b262d21886d;p=ceph.git qa/rgw: rgw/verify suite randomizes --placement-inline-data test coverage for https://github.com/ceph/ceph/pull/48711 Signed-off-by: Casey Bodley --- diff --git a/qa/suites/rgw/verify/inline-data$/off.yaml b/qa/suites/rgw/verify/inline-data$/off.yaml new file mode 100644 index 000000000000..56d1bce1077f --- /dev/null +++ b/qa/suites/rgw/verify/inline-data$/off.yaml @@ -0,0 +1,3 @@ +overrides: + rgw: + inline data: false diff --git a/qa/suites/rgw/verify/inline-data$/on.yaml b/qa/suites/rgw/verify/inline-data$/on.yaml new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/tasks/rgw.py b/qa/tasks/rgw.py index a10266d050e2..61bcea3a5e2e 100644 --- a/qa/tasks/rgw.py +++ b/qa/tasks/rgw.py @@ -314,6 +314,20 @@ def configure_compression(ctx, clients, compression): check_status=True) yield +@contextlib.contextmanager +def disable_inline_data(ctx, clients): + for client in clients: + # XXX: the 'default' zone and zonegroup aren't created until we run RGWRados::init_complete(). + # issue a 'radosgw-admin user list' command to trigger this + rgwadmin(ctx, client, cmd=['user', 'list'], check_status=True) + + rgwadmin(ctx, client, + cmd=['zone', 'placement', 'modify', '--rgw-zone', 'default', + '--placement-id', 'default-placement', + '--placement-inline-data', 'false'], + check_status=True) + yield + @contextlib.contextmanager def configure_datacache(ctx, clients, datacache_path): """ create directory for rgw datacache """ @@ -414,6 +428,7 @@ def task(ctx, config): ctx.rgw.cache_pools = bool(config.pop('cache-pools', False)) ctx.rgw.frontend = config.pop('frontend', 'beast') ctx.rgw.compression_type = config.pop('compression type', None) + ctx.rgw.inline_data = config.pop('inline data', True) ctx.rgw.storage_classes = config.pop('storage classes', None) default_cert = config.pop('ssl certificate', None) ctx.rgw.data_pool_pg_size = config.pop('data_pool_pg_size', 64) @@ -435,6 +450,10 @@ def task(ctx, config): lambda: configure_compression(ctx=ctx, clients=clients, compression=ctx.rgw.compression_type), ]) + if not ctx.rgw.inline_data: + subtasks.extend([ + lambda: disable_inline_data(ctx=ctx, clients=clients), + ]) if ctx.rgw.datacache: subtasks.extend([ lambda: configure_datacache(ctx=ctx, clients=clients,