]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
squid: 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>
Tue, 28 May 2024 16:06:19 +0000 (19:06 +0300)
commitf131a71b32b5308241c1a6c9d29e86bd5de886d4
treebf231c43f725fe0212a94b8c7f214d49535c4438
parent862cbda1712e7cc96cd4ca3bfcb641d4a2520d54
squid: 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>
(cherry picked from commit 274849e544dd1f77158a2c80a4c654cb0363f71d)
Fixes: https://tracker.ceph.com/issues/66103
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