]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks: allow specifying timeout command prefix to ceph
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 18 Jan 2023 02:21:08 +0000 (21:21 -0500)
committerPatrick Donnelly <pdonnell@redhat.com>
Wed, 29 Mar 2023 17:02:55 +0000 (13:02 -0400)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
qa/tasks/ceph_manager.py

index 8db8bda6086df45e5fff40b7faa3f63073f98a59..135c40521c981b5ad53aba5bffaeca7dc3492ac9 100644 (file)
@@ -1564,19 +1564,28 @@ class CephManager:
         elif isinstance(kwargs['args'], tuple):
             kwargs['args'] = list(kwargs['args'])
 
+        prefixcmd = []
+        timeoutcmd = kwargs.pop('timeoutcmd', None)
+        if timeoutcmd is not None:
+            prefixcmd += ['timeout', str(timeoutcmd)]
+
         if self.cephadm:
+            prefixcmd += ['ceph']
+            cmd = prefixcmd + list(kwargs['args'])
             return shell(self.ctx, self.cluster, self.controller,
-                         args=['ceph'] + list(kwargs['args']),
+                         args=cmd,
                          stdout=StringIO(),
                          check_status=kwargs.get('check_status', True))
-        if self.rook:
+        elif self.rook:
+            prefixcmd += ['ceph']
+            cmd = prefixcmd + list(kwargs['args'])
             return toolbox(self.ctx, self.cluster,
-                           args=['ceph'] + list(kwargs['args']),
+                           args=cmd,
                            stdout=StringIO(),
                            check_status=kwargs.get('check_status', True))
-
-        kwargs['args'] = self.CEPH_CMD + kwargs['args']
-        return self.controller.run(**kwargs)
+        else:
+            kwargs['args'] = prefixcmd + self.CEPH_CMD + kwargs['args']
+            return self.controller.run(**kwargs)
 
     def raw_cluster_cmd(self, *args, **kwargs) -> str:
         """