diff --git a/utils/containers.py b/utils/containers.py index 6dc255a558ab7d89e3d811a4e4fc810a789c830b..25d4c534fc1aec2f23a72361c8e38551f2f08351 100644 --- a/utils/containers.py +++ b/utils/containers.py @@ -118,8 +118,10 @@ class ClusterConductor: for container in containers: if container and container_regex.match(container): self._dump_container_logs(dir, container) + def get_view(self) -> str: return {"address": f"{self.ip}:{self.port}", "id": self.index} + def _dump_container_logs(self, dir, name: str) -> None: log_file = os.path.join(dir, f"{name}.log") self.log(f"Dumping logs for container {name} to file {log_file}") @@ -433,15 +435,18 @@ class ClusterConductor: # update node ip if container_ip != node.ip: - self.log(f"Warning: Node {i} IP addr changed from {node.ip} to {container_ip}") + self.log( + f"Warning: Node {i} IP addr changed from {node.ip} to {container_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.rebroadcast_view(self.get_shard_view()) + if CONTAINER_ENGINE == "podman": + if hasattr(self, "_parent"): + self._parent.clients[ + node.index + ].base_url = self.node_external_endpoint(node.index) + view_changed = True + if CONTAINER_ENGINE == "podman" and view_changed and hasattr(self, "_parent"): + self._parent.rebroadcast_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}" @@ -500,15 +505,18 @@ class ClusterConductor: # update node ip if container_ip != node.ip: - self.log(f"Warning: Node {i} IP addr changed from {node.ip} to {container_ip}") + self.log( + f"Warning: Node {i} IP addr changed from {node.ip} to {container_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.rebroadcast_view(self.get_shard_view()) + if CONTAINER_ENGINE == "podman": + if hasattr(self, "_parent"): + self._parent.clients[ + node.index + ].base_url = self.node_external_endpoint(node.index) + view_changed = True + if CONTAINER_ENGINE == "podman" and view_changed and hasattr(self, "_parent"): + self._parent.rebroadcast_view(self.get_shard_view()) DeprecationWarning("View is in updated format")