From 3a037888c52302e3f672290d01934e8a5114b6e0 Mon Sep 17 00:00:00 2001
From: zphrs <z@zephiris.dev>
Date: Thu, 13 Mar 2025 20:47:15 -0700
Subject: [PATCH] Minor perf improvements

---
 utils/containers.py | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/utils/containers.py b/utils/containers.py
index dae84e4..894dbd2 100644
--- a/utils/containers.py
+++ b/utils/containers.py
@@ -107,7 +107,7 @@ class ClusterConductor:
 
     def dump_all_container_logs(self, dir):
         self.log("dumping logs of kvs containers")
-        container_pattern = "^kvs_.*"
+        container_pattern = f"^kvs_{self.group_id}_.*"
         container_regex = re.compile(container_pattern)
 
         containers = self._list_containers()
@@ -143,6 +143,17 @@ class ClusterConductor:
             error_prefix=f"failed to remove container {name}",
         )
 
+    def _remove_containers(self, names: list[str]) -> None:
+        if len(names) == 0:
+            return
+        self.log(f"removing containers {names}")
+        run_cmd_bg(
+            self._make_remove_cmd(names[0]) + names[1:],
+            verbose=True,
+            error_prefix=f"failed to remove containers {names}",
+        )
+
+
     def _remove_network(self, name: str) -> None:
         # remove a single network
         self.log(f"removing network {name}")
@@ -184,10 +195,12 @@ class ClusterConductor:
         # cleanup containers
         self.log(f"  cleaning up {'group' if group_only else 'all'} containers")
         containers = self._list_containers()
-        for container in containers:
-            if container and container_regex.match(container):
-                self._remove_container(container)
-
+        containers_to_remove = [
+            container
+            for container in containers
+            if container and container_regex.match(container)
+        ]
+        self._remove_containers(containers_to_remove)
         # cleanup networks
         self.log(f"  cleaning up {'group' if group_only else 'all'} networks")
         networks = self._list_networks()
-- 
GitLab