Project

General

Profile

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.

Back