Process requests for radosgw per unit keys

Process requests for radosgw per unit keys. Ideally the charm
would move to using charms.ceph.utils for the get_radosgw_key
method but this does not work atm. I have raised bug #1899643
to cover deduplicating hooks.ceph v charms.ceph.*

Change-Id: I00f5a58f127baa1f7878b0ddb31b4fa009d9651e
Closes-Bug: #1899634
This commit is contained in:
Liam Young 2020-10-13 13:49:34 +00:00
parent 3249ce6585
commit dee1f3c86c
3 changed files with 17 additions and 3 deletions

View File

@ -347,8 +347,8 @@ _upgrade_caps = {
}
def get_radosgw_key():
return get_named_key('radosgw.gateway', _radosgw_caps)
def get_radosgw_key(name='radosgw.gateway'):
return get_named_key(name, _radosgw_caps)
_default_caps = collections.OrderedDict([

View File

@ -176,10 +176,18 @@ def radosgw_relation(relid=None, unit=None):
ceph_addrs = config('monitor-hosts')
data = {
'fsid': config('fsid'),
'radosgw_key': ceph.get_radosgw_key(),
'auth': config('auth-supported'),
'ceph-public-address': ceph_addrs,
}
key_name = relation_get('key_name', unit=unit, rid=relid)
if key_name:
# New style, per unit keys
data['{}_key'.format(key_name)] = (
ceph.get_radosgw_key(name=key_name)
)
else:
# Old style global radosgw key
data['radosgw_key'] = ceph.get_radosgw_key()
settings = relation_get(rid=relid, unit=unit) or {}
"""Process broker request(s)."""

View File

@ -54,6 +54,12 @@ target_deploy_status:
nova-compute:
workload-status: waiting
workload-status-message: "Incomplete relations: storage-backend"
cinder-ceph:
workload-status: waiting
workload-status-message: "Ceph broker request incomplete"
glance:
workload-status: waiting
workload-status-message: "Incomplete relations: storage-backend"
tests_options:
force_deploy: