Feature #7032
closedteuthology: thrash cache pool (add cache; wait; drain cache; disable; repeat)
Description
we want to do this to start:
ceph osd pool create base 123
ceph osd pool create cache 123
ceph osd tier add base cache
ceph osd pool set cache target_max_objects 1000 # or something
in one thread, run a workload against the base pool.
in parallel, in a loop:
ceph osd tier cache-mode cache writeback
ceph osd tier set-overlay base cache
sleep 120
ceph osd tier cache-mode cache forward
rados -p cache cache-try-flush-evict-all
rados -p cache cache-flush-evict-all
ceph osd tier unset-overlay base
sleep 30
the trick is that the loop should terminate when the workload finishes. either need a generic teuthology task to run a parallel job and kill it when it's sibling finishes, or need to make a simple teuthology task to start the above loop in a background thread and stop it in the finally: section.
the workload itself can be something like the below, which specifically targest the base pool (and, implicitly, the cache pool, when it gets enabled):
- rados: clients: [client.0] pools: [base] ops: 4000 objects: 500 op_weights: read: 100 write: 100 delete: 50 copy_from: 50 flush: 50 try_flush: 50 evict: 50 snap_create: 50 snap_remove: 50 rollback: 50