diff options
author | Leonid Usov <leonid.usov@ibm.com> | 2024-03-16 16:41:47 +0100 |
---|---|---|
committer | Leonid Usov <leonid.usov@ibm.com> | 2024-04-25 20:15:05 +0200 |
commit | 274849e544dd1f77158a2c80a4c654cb0363f71d (patch) | |
tree | 245b6717997efe2be84089969365b1331d5711aa /qa/tasks/mgr | |
parent | qa/tasks: introduce ThrasherGreenlet (diff) | |
download | ceph-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.py | 8 |
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 |