]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: refactor CephFSMount.kill_background to optionally kill all background jobs
authorPatrick Donnelly <pdonnell@redhat.com>
Sat, 2 Mar 2024 02:51:36 +0000 (21:51 -0500)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 22 Mar 2024 15:38:04 +0000 (11:38 -0400)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit bb71023ced2d97a2590b98c4b820e7af6f1801b3)

qa/tasks/cephfs/mount.py

index 32f81551f99c834901a86f5729a6381f3b03a311..ba4874cc92dacd03a0555f6edabe19d39b71b34d 100644 (file)
@@ -1380,11 +1380,8 @@ class CephFSMount(object):
         self.run_python(pyscript)
 
     def teardown(self):
-        for p in self.background_procs:
-            log.info("Terminating background process")
-            self._kill_background(p)
-
-        self.background_procs = []
+        log.info("Terminating background process")
+        self.kill_background()
 
     def _kill_background(self, p):
         if p.stdin:
@@ -1394,13 +1391,16 @@ class CephFSMount(object):
             except (CommandFailedError, ConnectionLostError):
                 pass
 
-    def kill_background(self, p):
+    def kill_background(self, p=None):
         """
         For a process that was returned by one of the _background member functions,
         kill it hard.
         """
-        self._kill_background(p)
-        self.background_procs.remove(p)
+        procs = [p] if p is not None else self.background_procs
+        for p in procs:
+            log.debug(f"terminating {p}")
+            self._kill_background(p)
+            self.background_procs.remove(p)
 
     def send_signal(self, signal):
         signal = signal.lower()