]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
qa/tasks: vstart_runner: introduce --config-mode
authorLeonid Usov <leonid.usov@ibm.com>
Sat, 16 Mar 2024 15:41:47 +0000 (11:41 -0400)
committerLeonid Usov <leonid.usov@ibm.com>
Thu, 25 Apr 2024 18:15:05 +0000 (21:15 +0300)
commit274849e544dd1f77158a2c80a4c654cb0363f71d
tree245b6717997efe2be84089969365b1331d5711aa
parented6e3f8a34f3e314d87a1fe38446d0176bc55aba
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>
qa/tasks/cephfs/filesystem.py
qa/tasks/cephfs/fuse_mount.py
qa/tasks/cephfs/kernel_mount.py
qa/tasks/cephfs/mount.py
qa/tasks/mgr/mgr_test_case.py
qa/tasks/vstart_runner.py