]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: create test_pools.sh
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Fri, 17 Dec 2010 19:52:01 +0000 (11:52 -0800)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Fri, 17 Dec 2010 19:52:01 +0000 (11:52 -0800)
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
src/test/test_common.sh
src/test/test_lost.sh
src/test/test_pools.sh [new file with mode: 0755]
src/test/test_split.sh
src/test/test_unfound.sh

index f34fda5ffd34b0fb5ec819c63e76b370d8567daf..5aaf0439e54c3a880b0d80913699584c668877f3 100755 (executable)
@@ -89,12 +89,13 @@ write_objects() {
         stop_ver=$2
         num_objs=$3
         obj_size=$4
+        pool=$5
         [ -d "${TEMPDIR}" ] || die "must setup_tempdir"
         for v in `seq $start_ver $stop_ver`; do
                 chr=`perl -e "print chr(48+$v)"`
                 head -c $obj_size /dev/zero  | tr '\0' "$chr" > $TEMPDIR/ver$v
                 for i in `seq -w 1 $num_objs`; do
-                        ./rados -p data put obj$i $TEMPDIR/ver$v || die "radostool failed"
+                        ./rados -p $pool put obj$i $TEMPDIR/ver$v || die "radostool failed"
                 done
         done
 }
index 59a7e9224d9276f18bcfea844eaffa477d25ae7e..1998ee4c9e0243c755f9ed3e634901ceccc6ebbf 100755 (executable)
@@ -20,13 +20,13 @@ setup() {
 
 recovery1_impl() {
         # Write lots and lots of objects
-        write_objects 1 1 200 4000
+        write_objects 1 1 200 4000 data
 
         # Take down osd1
         stop_osd 1
 
         # Continue writing a lot of objects
-        write_objects 2 2 200 4000
+        write_objects 2 2 200 4000 data
 
         # Bring up osd1
         restart_osd 1
@@ -65,13 +65,13 @@ lost1_impl() {
        try_to_fetch_unfound=$1
 
         # Write lots and lots of objects
-        write_objects 1 1 20 8000
+        write_objects 1 1 20 8000 data
 
         # Take down osd1
         stop_osd 1
 
         # Continue writing a lot of objects
-        write_objects 2 2 20 8000
+        write_objects 2 2 20 8000 data
 
         # Bring up osd1
         restart_osd 1
diff --git a/src/test/test_pools.sh b/src/test/test_pools.sh
new file mode 100755 (executable)
index 0000000..c1b7985
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash -x
+
+#
+# Test pools
+#
+
+# Includes
+source "`dirname $0`/test_common.sh"
+
+# Functions
+setup() {
+        export CEPH_NUM_OSD=$1
+
+        # Start ceph
+        ./stop.sh
+
+        ./vstart.sh -d -n || die "vstart failed"
+}
+
+test629_impl() {
+        # create the pool
+        ./rados mkpool foo || die "mkpool failed"
+
+        # Write lots and lots of objects
+        write_objects 1 1 10 1000000 foo
+
+        # Take down first osd
+        stop_osd 0
+
+        # Now degraded PGs should exist
+        poll_cmd "./ceph pg debug degraded_pgs_exist" TRUE 3 120
+
+        # delete the pool
+        ./rados rmpool foo || die "rmpool failed"
+
+        # make sure the system is stable
+        sleep 10
+}
+
+test629(){
+        setup 3
+        test629_impl
+}
+
+run() {
+        test629 || die "test failed"
+}
+
+$@
index d8db7649d73e0d9772409b73f8be4bfa0f41ccd0..e0d0ed1cd368818097c096e4f0f778a30ce5dcc2 100755 (executable)
@@ -9,7 +9,7 @@ source "`dirname $0`/test_common.sh"
 
 # Constants
 my_write_objects() {
-        write_objects $1 $2 10 1000000
+        write_objects $1 $2 10 1000000 data
 }
 
 setup() {
index ff359cba62642cf6d86d9ed5014de8131e593782..37ba00003d74f48a156f673e04fdc4fdae0eb579 100755 (executable)
@@ -9,7 +9,7 @@ source "`dirname $0`/test_common.sh"
 
 # Functions
 my_write_objects() {
-        write_objects $1 $2 10 1000000
+        write_objects $1 $2 10 1000000 data
 }
 
 setup() {