When a cluster relation only has one member, the
self.application_name property used when reading
application databag returns None during a window
of opportunity that is repeated every time a new
hook runs. Subsequent handlers eventually set this property but the first handler that runs causes
issues (in vault charm for example, by failing to get the current certs and then assuming they don't
exist, therefore recreating certs every time
update-status runs).
When a cluster relation only has one member, the self.application_name property used when reading application databag returns None during a window of opportunity that is repeated every time a new hook runs. Subsequent handlers eventually set this property but the first handler that runs causes issues (in vault charm for example, by failing to get the current certs and then assuming they don't exist, therefore recreating certs every time update-status runs).