Feature #63669
Updated by Patrick Donnelly 3 months ago
Add a "Thrasher" task that executes in the background for fs:workload jobs like the current "fwd_scrub" Thrasher: https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/tasks/fwd_scrub.py (or mds_thrash.py https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/tasks/mds_thrash.py ) What this is basically doing is periodically running a foward scrub on the file system. This is introduced into the suite and tuned using: https://github.com/ceph/ceph/blob/8ffdab763374c29194121bdc9c4f48e10cae0da1/qa/suites/fs/workload/tasks/2-scrub/yes.yaml This thrasher should: * quiesce will probably require a subset number 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 parallel workload tasks with future updates to fs:workload. * take a snapshot on each subvolume after quiesced * (make optional with an option like [1]) verify periodic crash consistent snapshots being executed in the quiesce: copy background via 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 volumes plugin.