You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
at the moment status management in traefik is decentralized and little is done to prevent statuses from being overridden even within the same event.
To Reproduce
suppose the charm is in blocked because some relation sent bad data:
charm.traefik_route.on.ready.emit(charm.model.get_relation("traefik-route"))
with pytest.raises(StaticConfigMergeConflictError):
charm.traefik.generate_static_config(_raise=True)
# THEN the charm status is blocked
assert isinstance(charm.unit.status, ops.BlockedStatus)
as soon as we receive another, unrelated event, the blocked status is lost.
Bug Description
at the moment status management in traefik is decentralized and little is done to prevent statuses from being overridden even within the same event.
To Reproduce
suppose the charm is in blocked because some relation sent bad data:
as soon as we receive another, unrelated event, the blocked status is lost.
Environment
n/a
Relevant log output
Additional context
Solution:
adopt collect-unit-status common exit hook pattern, and some sort of compound-status to store error statuses across hook contexts
The text was updated successfully, but these errors were encountered: