Skip to content

Commit 5ea3cde

Browse files
authored
Registering relation-changed, preventing to be stuck in 'waiting' if secrets weren't there at 'start' (#15)
1 parent b48f401 commit 5ea3cde

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/charm.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ def __init__(self, *args):
8181
self.framework.observe(
8282
getattr(self.database.on, "endpoints_changed"), self._on_endpoints_changed
8383
)
84+
self.framework.observe(
85+
self.on[DATABASE_RELATION].relation_changed, self._on_relation_changed
86+
)
8487
self.framework.observe(
8588
self.on[DATABASE_RELATION].relation_broken, self._on_relation_broken
8689
)
@@ -329,6 +332,13 @@ def _on_peer_relation_changed(self, _) -> None:
329332

330333
self.unit.status = ActiveStatus()
331334

335+
def _on_relation_changed(self, _) -> None:
336+
"""Handle the database relation broken event."""
337+
if self._database_config:
338+
self.unit.status = ActiveStatus()
339+
else:
340+
self.unit.status = WaitingStatus()
341+
332342
def _on_relation_broken(self, _) -> None:
333343
"""Handle the database relation broken event."""
334344
self._stop_continuous_writes()

0 commit comments

Comments
 (0)