diff --git a/tests/helper.py b/tests/helper.py index 18b31dbc6a88b3e062918ee66b7e887e45888bba..e8057e4db2aa4a900886ad5a1445815e674a7e37 100644 --- a/tests/helper.py +++ b/tests/helper.py @@ -7,6 +7,7 @@ from ..utils.util import Logger class KVSTestFixture: def __init__(self, conductor: ClusterConductor, dir, log: Logger, node_count: int): + conductor._parent = self self.conductor = conductor self.dir = dir self.node_count = node_count diff --git a/utils/containers.py b/utils/containers.py index 894dbd281f25808892f6ba59dd3900f949b644ea..98ce3284b0f11bd9a9c08e541e62277445ebacfe 100644 --- a/utils/containers.py +++ b/utils/containers.py @@ -412,7 +412,16 @@ class ClusterConductor: self.log(f" node {node.name} ip in network {net_name}: {container_ip}") # update node ip - node.ip = container_ip + + if container_ip != node.ip: + node.ip = container_ip + if hasattr(self, "_parent"): + self._parent.clients[ + node.index + ].base_url = self.node_external_endpoint(node.index) + view_changed = True + if view_changed and hasattr(self, "_parent"): + self._parent.broadcast_view(self.get_shard_view()) def create_partition(self, node_ids: List[int], partition_id: str) -> None: net_name = f"kvs_{self.group_id}_net_{partition_id}" @@ -463,7 +472,15 @@ class ClusterConductor: self.log(f" node {node.name} ip in network {net_name}: {container_ip}") # update node ip - node.ip = container_ip + if container_ip != node.ip: + node.ip = container_ip + if hasattr(self, "_parent"): + self._parent.clients[ + node.index + ].base_url = self.node_external_endpoint(node.index) + view_changed = True + if view_changed and hasattr(self, "_parent"): + self._parent.broadcast_view(self.get_shard_view()) DeprecationWarning("View is in updated format")