From cb7dc4a22d519c85dc706f458f34b279aa59733b Mon Sep 17 00:00:00 2001 From: Judit Novak Date: Sun, 27 Aug 2023 22:39:38 +0200 Subject: [PATCH] Attempt to avoid EnterScope errors --- tests/integration/database-charm/src/charm.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/integration/database-charm/src/charm.py b/tests/integration/database-charm/src/charm.py index 9d4ce977..9db1bad2 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(3)) + + 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'