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
}
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
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
--- /dev/null
+#!/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"
+}
+
+$@
# Constants
my_write_objects() {
- write_objects $1 $2 10 1000000
+ write_objects $1 $2 10 1000000 data
}
setup() {
# Functions
my_write_objects() {
- write_objects $1 $2 10 1000000
+ write_objects $1 $2 10 1000000 data
}
setup() {