Feature #63669
openFeature #63663: mds,client: add crash-consistent snapshot support
qa: add teuthology tests for quiescing a group of subvolumes
0%
Description
Add a "Thrasher" task that executes in the background for fs:workload jobs like the current "fwd_scrub" Thrasher [4]. (See also mds_thrash.py [5])
What this is basically doing is periodically running a forward scrub on the file system. This is introduced into the suite and tuned using [6]. This thrasher should:
- quiesce a subset of the current subvolumes ; right now fs:workload creates only two subvolumes but only one is used (IIRC) depending on the mount type. It would be good to automatically support multiple clients/subvolumes with future updates to fs:workload.
- take a snapshot on each subvolume after quiesced
- (make optional with an option like [1]) verify the quiesce: copy the _verify_quiesce method from test_quiesce.py [2] (eventually it will be merged into a common library)
- Use teuthology postmerge filters to filter out the snap-schedule task when we are testing the quiesce+snapshot thrasher.
[1] https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/suites/fs/workload/tasks/2-scrub/yes.yaml#L9-L10
[2] https://github.com/ceph/ceph/pull/54581
[3] https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/suites/fs/workload/tasks/3-snaps/yes.yaml
[4] https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/tasks/fwd_scrub.py
[5] https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/tasks/mds_thrash.py
[6] https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/suites/fs/workload/tasks/2-scrub/yes.yaml