diff --git a/tests/integration/database-charm/src/charm.py b/tests/integration/database-charm/src/charm.py index 9d4ce977..8af9b2f9 100755 --- a/tests/integration/database-charm/src/charm.py +++ b/tests/integration/database-charm/src/charm.py @@ -11,6 +11,8 @@ import logging import secrets import string +from random import randrange +from time import sleep import psycopg2 from ops.charm import CharmBase, WorkloadEvent @@ -100,6 +102,16 @@ def _on_database_requested(self, event: DatabaseRequestedEvent) -> None: # Share the credentials with the application. self.database.set_credentials(event.relation.id, username, password) + # Temporary hack to avoid https://bugs.launchpad.net/juju/+bug/2031631 + sleep(randrange(5)) + + assert self.model.get_binding("database") + assert self.model.get_binding("database").network + assert self.model.get_binding("database").network.bind_address + logger.info( + f"Charm binding {self.model.get_binding('database')}, network: {self.model.get_binding('database').network}, IP: self.model.get_binding('database').network.bind_address" + ) + # Set the read/write endpoint. self.database.set_endpoints( event.relation.id, f'{self.model.get_binding("database").network.bind_address}:5432'