From f39cafe5910df5c67050ef77f3dc04efd6e7db06 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 2 Dec 2016 14:48:44 -0500 Subject: [PATCH] rgw: configure compression in default zone when not multisite Signed-off-by: Casey Bodley --- tasks/rgw.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tasks/rgw.py b/tasks/rgw.py index df69ed285af32..c8da3629c7de0 100644 --- a/tasks/rgw.py +++ b/tasks/rgw.py @@ -821,6 +821,28 @@ def configure_multisite_regions_and_zones(ctx, config, regions, role_endpoints, yield +def configure_compression_in_default_zone(ctx, config): + ceph_config = ctx.ceph['ceph'].conf.get('global', {}) + ceph_config.update(ctx.ceph['ceph'].conf.get('client', {})) + for client, c_config in config.iteritems(): + ceph_config.update(ctx.ceph['ceph'].conf.get(client, {})) + key = 'rgw compression type' + if not key in ceph_config: + log.debug('No compression setting to enable') + break + compression = ceph_config[key] + log.debug('Configuring compression type = %s', compression) + + # 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', '--compression', compression], + check_status=True) + break # only the first client + @contextlib.contextmanager def configure_regions_and_zones(ctx, config, regions, role_endpoints, realm): """ @@ -830,6 +852,7 @@ def configure_regions_and_zones(ctx, config, regions, role_endpoints, realm): log.debug( 'In rgw.configure_regions_and_zones() and regions is None. ' 'Bailing') + configure_compression_in_default_zone(ctx, config) yield return @@ -837,6 +860,7 @@ def configure_regions_and_zones(ctx, config, regions, role_endpoints, realm): log.debug( 'In rgw.configure_regions_and_zones() and realm is None. ' 'Bailing') + configure_compression_in_default_zone(ctx, config) yield return -- 2.39.5