]> git-server-git.apps.pok.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>
Thu, 30 Mar 2023 12:40:49 +0000 (08:40 -0400)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit dbf1a402c9626bcb2d1b3363f871c569860a0921)

Conflicts:
qa/tasks/ceph_manager.py

qa/tasks/ceph_manager.py

index bb1abfd51bba65a5f5cdb8b2b175c0c5dc3bd7bf..c04dcc11c5bedf38dc05b6364ee7cd2752ecde06 100644 (file)
@@ -1564,23 +1564,33 @@ class CephManager:
 
         Accepts arguments same as that of teuthology.orchestra.run.run()
         """
+
+        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))
-
-        testdir = teuthology.get_testdir(self.ctx)
-        prefix = ['sudo', 'adjust-ulimits', 'ceph-coverage',
-                  f'{testdir}/archive/coverage', 'timeout', '120', 'ceph',
-                  '--cluster', self.cluster]
-        kwargs['args'] = prefix + list(kwargs['args'])
-        return self.controller.run(**kwargs)
+        else:
+            testdir = teuthology.get_testdir(self.ctx)
+            prefix = prefixcmd + ['sudo', 'adjust-ulimits', 'ceph-coverage',
+                     f'{testdir}/archive/coverage', 'timeout', '120', 'ceph',
+                     '--cluster', self.cluster]
+            kwargs['args'] = prefix + list(kwargs['args'])
+            return self.controller.run(**kwargs)
 
     def raw_cluster_cmd(self, *args, **kwargs) -> str:
         """