]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tasks/*unfound*.py: run rados bench in parallel
authorSamuel Just <sjust@redhat.com>
Tue, 22 Dec 2015 18:06:22 +0000 (10:06 -0800)
committerSamuel Just <sjust@redhat.com>
Fri, 19 Feb 2016 20:28:36 +0000 (12:28 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
tasks/ec_lost_unfound.py
tasks/lost_unfound.py
tasks/rep_lost_unfound_delete.py

index 5a9678d8c275ce8f7e5e02629e581e3ea99c483b..d197eb4d92cceef4d32ffb94e58f21f4f6a3ab1c 100644 (file)
@@ -1,10 +1,12 @@
 """
 Lost_unfound
 """
+from teuthology.orchestra import run
 import logging
 import ceph_manager
 from teuthology import misc as teuthology
 from util.rados import rados
+import time
 
 log = logging.getLogger(__name__)
 
@@ -97,6 +99,30 @@ def task(ctx, config):
     log.info("there are %d unfound objects" % unfound)
     assert unfound
 
+    testdir = teuthology.get_testdir(ctx)
+    procs = []
+    if config.get('parallel_bench', True):
+        procs.append(mon.run(
+            args=[
+                "/bin/sh", "-c",
+                " ".join(['adjust-ulimits',
+                          'ceph-coverage',
+                          '{tdir}/archive/coverage',
+                          'rados',
+                          '--no-log-to-stderr',
+                          '--name', 'client.admin',
+                          '-b', str(4<<10),
+                          '-p' , pool,
+                          '-t', '20',
+                          'bench', '240', 'write',
+                      ]).format(tdir=testdir),
+            ],
+            logger=log.getChild('radosbench.{id}'.format(id='client.admin')),
+            stdin=run.PIPE,
+            wait=False
+        ))
+    time.sleep(10)
+
     # mark stuff lost
     pgs = manager.get_pg_stats()
     for pg in pgs:
@@ -122,6 +148,9 @@ def task(ctx, config):
     manager.raw_cluster_cmd('tell', 'osd.3', 'flush_pg_stats')
     manager.wait_for_recovery()
 
+    if not config.get('parallel_bench', True):
+        time.sleep(20)
+
     # verify result
     for f in range(1, 10):
         err = rados(ctx, mon, ['-p', pool, 'get', 'new_%d' % f, '-'])
@@ -135,3 +164,4 @@ def task(ctx, config):
     manager.revive_osd(1)
     manager.wait_till_osd_is_up(1)
     manager.wait_for_clean()
+    run.wait(procs)
index af1df4de0cb9cd8e33d653a63bd505ffd2526f5c..3fb5c16ed7af12480463c7ee8b619ad138df0f97 100644 (file)
@@ -5,6 +5,7 @@ import logging
 import time
 import ceph_manager
 from teuthology import misc as teuthology
+from teuthology.orchestra import run
 from util.rados import rados
 
 log = logging.getLogger(__name__)
@@ -111,6 +112,30 @@ def task(ctx, config):
     log.info("there are %d unfound objects" % unfound)
     assert unfound
 
+    testdir = teuthology.get_testdir(ctx)
+    procs = []
+    if config.get('parallel_bench', True):
+        procs.append(mon.run(
+            args=[
+                "/bin/sh", "-c",
+                " ".join(['adjust-ulimits',
+                          'ceph-coverage',
+                          '{tdir}/archive/coverage',
+                          'rados',
+                          '--no-log-to-stderr',
+                          '--name', 'client.admin',
+                          '-b', str(4<<10),
+                          '-p' , POOL,
+                          '-t', '20',
+                          'bench', '240', 'write',
+                      ]).format(tdir=testdir),
+            ],
+            logger=log.getChild('radosbench.{id}'.format(id='client.admin')),
+            stdin=run.PIPE,
+            wait=False
+        ))
+    time.sleep(10)
+
     # mark stuff lost
     pgs = manager.get_pg_stats()
     for pg in pgs:
@@ -155,3 +180,4 @@ def task(ctx, config):
     manager.mark_in_osd(1)
     manager.wait_till_osd_is_up(1)
     manager.wait_for_clean()
+    run.wait(procs)
index b36d260b1222411da1cc46ef0a8a35ff0f3ed3c5..be3bc74ed6012f17f24e54f98e1202938e1fd14a 100644 (file)
@@ -2,7 +2,9 @@
 Lost_unfound
 """
 import logging
+from teuthology.orchestra import run
 import ceph_manager
+import time
 from teuthology import misc as teuthology
 from util.rados import rados
 
@@ -110,6 +112,30 @@ def task(ctx, config):
     log.info("there are %d unfound objects" % unfound)
     assert unfound
 
+    testdir = teuthology.get_testdir(ctx)
+    procs = []
+    if config.get('parallel_bench', True):
+        procs.append(mon.run(
+            args=[
+                "/bin/sh", "-c",
+                " ".join(['adjust-ulimits',
+                          'ceph-coverage',
+                          '{tdir}/archive/coverage',
+                          'rados',
+                          '--no-log-to-stderr',
+                          '--name', 'client.admin',
+                          '-b', str(4<<10),
+                          '-p' , POOL,
+                          '-t', '20',
+                          'bench', '240', 'write',
+                      ]).format(tdir=testdir),
+            ],
+            logger=log.getChild('radosbench.{id}'.format(id='client.admin')),
+            stdin=run.PIPE,
+            wait=False
+        ))
+    time.sleep(10)
+
     # mark stuff lost
     pgs = manager.get_pg_stats()
     for pg in pgs:
@@ -154,3 +180,5 @@ def task(ctx, config):
     manager.mark_in_osd(1)
     manager.wait_till_osd_is_up(1)
     manager.wait_for_clean()
+    run.wait(procs)
+