From: Casey Bodley Date: Fri, 2 Dec 2016 19:48:44 +0000 (-0500) Subject: rgw: configure compression in default zone when not multisite X-Git-Tag: v11.1.1~58^2^2~8^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f39cafe5910df5c67050ef77f3dc04efd6e7db06;p=ceph.git rgw: configure compression in default zone when not multisite Signed-off-by: Casey Bodley --- diff --git a/tasks/rgw.py b/tasks/rgw.py index df69ed285af3..c8da3629c7de 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