diff --git a/hooks/ceph_hooks.py b/hooks/ceph_hooks.py index 2868777..7537df5 100755 --- a/hooks/ceph_hooks.py +++ b/hooks/ceph_hooks.py @@ -430,6 +430,8 @@ def notify_radosgws(): def notify_client(): for relid in relation_ids('client'): client_relation_joined(relid) + for unit in related_units(relid): + client_relation_changed(relid, unit) @hooks.hook('osd-relation-changed') @@ -526,10 +528,12 @@ def client_relation_joined(relid=None): @hooks.hook('client-relation-changed') -def client_relation_changed(): +def client_relation_changed(relid=None, unit=None): """Process broker requests from ceph client relations.""" if ceph.is_quorum(): - settings = relation_get() + if not unit: + unit = remote_unit() + settings = relation_get(rid=relid, unit=unit) if 'broker_req' in settings: if not ceph.is_leader(): log("Not leader - ignoring broker request", level=DEBUG) @@ -543,7 +547,8 @@ def client_relation_changed(): 'broker_rsp': rsp, unit_response_key: rsp, } - relation_set(relation_settings=data) + relation_set(relation_id=relid, + relation_settings=data) else: log('mon cluster not in quorum', level=DEBUG)