Merge "Fix pool names in RadosGW charm" into stable/quincy.2

This commit is contained in:
Zuul 2023-09-20 09:35:04 +00:00 committed by Gerrit Code Review
commit 004ba8cfd4
3 changed files with 12 additions and 19 deletions

View File

@ -1,7 +1,7 @@
pause:
description: Pause the ceph-radosgw unit.
resume:
descrpition: Resume the ceph-radosgw unit.
description: Resume the ceph-radosgw unit.
promote:
description: Promote the zone associated with the local units to master/default (multi-site).
readonly:

View File

@ -79,6 +79,10 @@ def import_radosgw_key(key, name=None):
return False
def normalize_pool_name(pool):
return pool[1:] if pool.startswith('.') else pool
def get_create_rgw_pools_rq(prefix=None):
"""Pre-create RGW pools so that they have the correct settings.
@ -101,6 +105,8 @@ def get_create_rgw_pools_rq(prefix=None):
w = weights.get(pool, 0.10)
if prefix:
pool = "{prefix}{pool}".format(prefix=prefix, pool=pool)
pool = normalize_pool_name(pool)
if pg_num > 0:
rq.add_op_create_pool(name=pool, replica_count=replicas,
pg_num=pg_num, group='objects',
@ -162,7 +168,7 @@ def get_create_rgw_pools_rq(prefix=None):
# the function arguments. Until then we need to build the dict
# prior to the function call.
kwargs = {
'name': pool,
'name': normalize_pool_name(pool),
'erasure_profile': profile_name,
'weight': bucket_weight,
'group': "objects",
@ -178,7 +184,7 @@ def get_create_rgw_pools_rq(prefix=None):
# the function arguments. Until then we need to build the dict
# prior to the function call.
kwargs = {
'name': pool,
'name': normalize_pool_name(pool),
'replica_count': replicas,
'weight': bucket_weight,
'group': 'objects',
@ -209,7 +215,8 @@ def get_create_rgw_pools_rq(prefix=None):
for pool in light:
_add_light_pool(rq, pool, pg_num, prefix)
_add_light_pool(rq, '.rgw.root', pg_num)
# RadosGW creates this pool automatically from Quincy on.
# _add_light_pool(rq, '.rgw.root', pg_num)
if config('restrict-ceph-pools'):
rq.add_op_request_access_to_group(name="objects",

View File

@ -107,9 +107,6 @@ class CephRadosGWCephTests(CharmTestCase):
call('us-east.rgw.buckets.index', replica_count=3, pg_num=10,
weight=None, group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
call('.rgw.root', replica_count=3, pg_num=10, weight=None,
group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
])
# confirm operation with bluestore compression
@ -163,9 +160,6 @@ class CephRadosGWCephTests(CharmTestCase):
call('us-east.rgw.buckets.index', replica_count=3, pg_num=10,
weight=None, group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
call('.rgw.root', replica_count=3, pg_num=10, weight=None,
group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
])
@patch.object(utils.context, 'CephBlueStoreCompressionContext')
@ -228,9 +222,6 @@ class CephRadosGWCephTests(CharmTestCase):
call('default.rgw.buckets.index', replica_count=3, pg_num=None,
weight=3.0, group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
call('.rgw.root', replica_count=3, pg_num=None, weight=0.1,
group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
])
mock_request_access.assert_called_with(key_name='radosgw.gateway',
name='objects',
@ -287,9 +278,6 @@ class CephRadosGWCephTests(CharmTestCase):
call('default.rgw.buckets.index', replica_count=3, pg_num=None,
weight=3.0, group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
call('.rgw.root', replica_count=3, pg_num=None, weight=0.1,
group='objects', namespace=None, app_name='rgw',
max_bytes=None, max_objects=None),
])
@patch.object(utils.context, 'CephBlueStoreCompressionContext')
@ -365,9 +353,7 @@ class CephRadosGWCephTests(CharmTestCase):
call(weight=3.00, replica_count=3,
name='default.rgw.buckets.index',
group='objects', app_name='rgw'),
call(weight=0.10, replica_count=3, name='.rgw.root',
group='objects', app_name='rgw')],
)
],)
mock_request_access.assert_called_with(key_name='radosgw.gateway',
name='objects',
permission='rwx')