Project

General

Profile

Feature #7032

Updated by Sage Weil over 10 years ago

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): 

 <pre> 
 - 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 
 </pre>

Back