summaryrefslogtreecommitdiffstats
path: root/qa/tasks/mgr
diff options
context:
space:
mode:
authorLeonid Usov <leonid.usov@ibm.com>2024-03-16 16:41:47 +0100
committerLeonid Usov <leonid.usov@ibm.com>2024-04-25 20:15:05 +0200
commit274849e544dd1f77158a2c80a4c654cb0363f71d (patch)
tree245b6717997efe2be84089969365b1331d5711aa /qa/tasks/mgr
parentqa/tasks: introduce ThrasherGreenlet (diff)
downloadceph-274849e544dd1f77158a2c80a4c654cb0363f71d.tar.xz
ceph-274849e544dd1f77158a2c80a4c654cb0363f71d.zip
qa/tasks: vstart_runner: introduce --config-mode
The new mode of the vstart_runner allows for passing paths to yaml configs that will be merged and then run just as the teuthology would do it. Building on the standard run method we can even pass "-" as the config name and provide one on the stdin like python3 ../qa/tasks/vstart_runner.py --config-mode "-" << END tasks: - quiescer: quiesce_factor: 0.5 min_quiesce: 10 max_quiesce: 10 initial_delay: 5 cancelations_cap: 2 paths: - a - b - c - waiter: on_exit: 100 END This commit does the minimum to allow testing of the quiescer, but it also lays the groundwork for running arbitrary configs. The cornerstone of the approach is to inject our local implementations of the main fs suite classes. To be able to do that, some minor refactoring was required in the corresponding modules: the standard classes were renamed to have a *Base suffix, and the former class name without the suffix is made a module level variable initialized with the *Base implementation. This refactoring is meant to be backward compatible. Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Diffstat (limited to 'qa/tasks/mgr')
-rw-r--r--qa/tasks/mgr/mgr_test_case.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/qa/tasks/mgr/mgr_test_case.py b/qa/tasks/mgr/mgr_test_case.py
index aa5bc6e56a9..44edbdb989a 100644
--- a/qa/tasks/mgr/mgr_test_case.py
+++ b/qa/tasks/mgr/mgr_test_case.py
@@ -7,15 +7,15 @@ from teuthology import misc
from tasks.ceph_test_case import CephTestCase
# TODO move definition of CephCluster away from the CephFS stuff
-from tasks.cephfs.filesystem import CephCluster
+from tasks.cephfs.filesystem import CephClusterBase
log = logging.getLogger(__name__)
-class MgrCluster(CephCluster):
+class MgrClusterBase(CephClusterBase):
def __init__(self, ctx):
- super(MgrCluster, self).__init__(ctx)
+ super(MgrClusterBase, self).__init__(ctx)
self.mgr_ids = list(misc.all_roles_of_type(ctx.cluster, 'mgr'))
if len(self.mgr_ids) == 0:
@@ -69,7 +69,7 @@ class MgrCluster(CephCluster):
if force:
cmd.append("--force")
self.mon_manager.raw_cluster_cmd(*cmd)
-
+MgrCluster = MgrClusterBase
class MgrTestCase(CephTestCase):
MGRS_REQUIRED = 1