PS4=' ${FUNCNAME[0]}: $LINENO: '
SUDO=${SUDO:-sudo}
+function check_no_osd_down()
+{
+ ! ceph osd dump | grep ' down '
+}
+
+function wait_no_osd_down()
+{
+ for i in $(seq 1 300) ; do
+ if ! check_no_osd_down ; then
+ echo "waiting for osd(s) to come back up"
+ sleep 1
+ else
+ break
+ fi
+ done
+ check_no_osd_down
+}
+
function get_pg()
{
local pool obj map_output pg
ceph osd thrash 10
ceph osd down `seq 0 31` # force everything down so that we can trust up
- # make sure everything gets back up+in.
- for ((i=0; i < 100; i++)); do
- if ceph osd dump | grep ' down '; then
- echo "waiting for osd(s) to come back up"
- sleep 10
- else
- break
- fi
- done
- ! ceph osd dump | grep ' down ' || exit 1
-
+ wait_no_osd_down
+
# if you have more osds than this you are on your own
for f in `seq 0 31`; do
ceph osd in $f || true
tests_to_run=()
+sanity_check=true
+
while [[ $# -gt 0 ]]; do
opt=$1
"--asok-does-not-need-root" )
SUDO=""
;;
+ "--no-sanity-check" )
+ sanity_check=false
+ ;;
"-t" )
shift
if [[ -z "$1" ]]; then
tests_to_run=("${TESTS[@]}")
fi
+if $sanity_check ; then
+ wait_no_osd_down
+fi
for i in ${tests_to_run[@]}; do
+ if $sanity_check ; then
+ check_no_osd_down
+ fi
set -x
test_${i}
set +x
done
+if $sanity_check ; then
+ check_no_osd_down
+fi
set -x