Guillaume Boutry 8e79100125
Undo __post_init__ failure tolerance
In previous implementation, __post_init__ was allowed to handle failures
of type `BaseStatusExceptionError`. While this should be ok in an ideal
world, this made external libraries failing to bind to juju events.
These libraries do not necessarily provide a way to request out-of-bound
the resources they provide, therefore, we cannot allow ourselves to drop
events.

The only failing point was at the beginning of charm deployments, when
no ingress-internal is present. Remove exception and fallback to
sensible default.

Since the k8s operators are always deployed to a K8S model, fallback to
`<app name>.<model name>.svc`. This is always resolvable from within the
k8s cluster.

This is a last resort fallback at the internal address is going to
resolved this way:
- Is there an ingress relation? If yes, take that address
- Is there a binding for `identity-service`? If yes, take that address
- Fallback on that built dns resolvable name

Keystone actually knows how to handle svc endpoint updates, this makes
the charms more resilient.

Change-Id: Ie70698206d5b396ee4a57c79d9a2612dccd4ce1c
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
2025-03-15 15:27:46 +01:00
..
2025-03-05 16:51:13 +05:30
2021-10-14 15:20:30 +01:00
2023-09-19 06:35:29 +00:00
2025-03-05 16:51:13 +05:30
2021-09-27 12:36:57 +01:00
2023-03-15 14:28:42 +00:00