]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: Allow modified options to existing setup functions
authorDavid Zafman <dzafman@redhat.com>
Thu, 21 Sep 2017 21:49:17 +0000 (14:49 -0700)
committerDavid Zafman <dzafman@redhat.com>
Fri, 29 Sep 2017 06:31:18 +0000 (23:31 -0700)
Signed-off-by: David Zafman <dzafman@redhat.com>
qa/standalone/erasure-code/test-erasure-eio.sh

index c4b09489e9276317fdffb99c88a29ba69a908d2d..49f61cd70eed103392015c3894e0bd0d5cb918b8 100755 (executable)
@@ -43,7 +43,10 @@ function run() {
 }
 
 function setup_osds() {
-    for id in $(seq 0 3) ; do
+    local count=$1
+    shift
+
+    for id in $(seq 0 $(expr $count - 1)) ; do
         run_osd $dir $id || return 1
     done
     wait_for_clean || return 1
@@ -55,10 +58,15 @@ function setup_osds() {
 
 function create_erasure_coded_pool() {
     local poolname=$1
+    shift
+    local k=$1
+    shift
+    local m=$1
+    shift
 
     ceph osd erasure-code-profile set myprofile \
         plugin=jerasure \
-        k=2 m=1 \
+        k=$k m=$m \
         crush-failure-domain=osd || return 1
     create_pool $poolname 1 1 erasure myprofile \
         || return 1
@@ -269,10 +277,10 @@ function rados_get_data_bad_size() {
 #
 function TEST_rados_get_subread_eio_shard_0() {
     local dir=$1
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # inject eio on primary OSD (0) and replica OSD (1)
     local shard_id=0
     rados_get_data eio $dir $shard_id || return 1
@@ -281,10 +289,10 @@ function TEST_rados_get_subread_eio_shard_0() {
 
 function TEST_rados_get_subread_eio_shard_1() {
     local dir=$1
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # inject eio into replicas OSD (1) and OSD (2)
     local shard_id=1
     rados_get_data eio $dir $shard_id || return 1
@@ -296,10 +304,10 @@ function TEST_rados_get_subread_eio_shard_1() {
 
 function TEST_rados_get_subread_missing() {
     local dir=$1
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # inject remove into replicas OSD (1) and OSD (2)
     local shard_id=1
     rados_get_data remove $dir $shard_id || return 1
@@ -316,10 +324,10 @@ function TEST_rados_get_subread_missing() {
 #
 function TEST_rados_get_bad_size_shard_0() {
     local dir=$1
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # Set incorrect size into primary OSD (0) and replica OSD (1)
     local shard_id=0
     rados_get_data_bad_size $dir $shard_id 10 || return 1
@@ -330,10 +338,10 @@ function TEST_rados_get_bad_size_shard_0() {
 
 function TEST_rados_get_bad_size_shard_1() {
     local dir=$1
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # Set incorrect size into replicas OSD (1) and OSD (2)
     local shard_id=1
     rados_get_data_bad_size $dir $shard_id 10 || return 1
@@ -346,10 +354,10 @@ function TEST_rados_get_with_subreadall_eio_shard_0() {
     local dir=$1
     local shard_id=0
 
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # inject eio on primary OSD (0)
     local shard_id=0
     rados_get_data_recovery eio $dir $shard_id || return 1
@@ -361,10 +369,10 @@ function TEST_rados_get_with_subreadall_eio_shard_1() {
     local dir=$1
     local shard_id=0
 
-    setup_osds || return 1
+    setup_osds || return 1
 
     local poolname=pool-jerasure
-    create_erasure_coded_pool $poolname || return 1
+    create_erasure_coded_pool $poolname 2 1 || return 1
     # inject eio on replica OSD (1)
     local shard_id=1
     rados_get_data_recovery eio $dir $shard_id || return 1