From: Vicente Cheng Date: Tue, 27 Oct 2015 09:10:14 +0000 (+0800) Subject: osd: test mkfs failure when the osd try to do mkfs again. X-Git-Tag: v10.0.1~93^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e684e4252f1fad24e4d0dd5242e8de593f084868;p=ceph.git osd: test mkfs failure when the osd try to do mkfs again. check mkfs when an existing superblock exists. Signed-off-by: Vicente Cheng --- diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index f8b629220820..82377732e4a7 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -370,6 +370,9 @@ add_dependencies(check rados_striper) add_test(NAME osd_bench COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/osd/osd-bench.sh) add_dependencies(check osd_bench) +add_test(NAME osd_reactivate COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/osd/osd-reactivate.sh) +add_dependencies(check osd_reactivate) + add_test(NAME test_erasure_code COMMAND bash ${CMAKE_SOURCE_DIR}/src/test/erasure-code/test-erasure-code.sh) add_dependencies(check test_erasure_code) diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 89fc7dfa7603..8da39135648c 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -81,6 +81,7 @@ check_SCRIPTS += \ test/osd/osd-scrub-repair.sh \ test/osd/osd-config.sh \ test/osd/osd-bench.sh \ + test/osd/osd-reactivate.sh \ test/osd/osd-copy-from.sh \ test/mon/mon-handle-forward.sh \ test/libradosstriper/rados-striper.sh \ diff --git a/src/test/osd/osd-reactivate.sh b/src/test/osd/osd-reactivate.sh new file mode 100755 index 000000000000..9bc29334c6ef --- /dev/null +++ b/src/test/osd/osd-reactivate.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# +# Author: Vicente Cheng +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library Public License for more details. +# + +source ../qa/workunits/ceph-helpers.sh + +function run() { + local dir=$1 + shift + + export CEPH_MON="127.0.0.1:7122" # git grep '\<7122\>' : there must be only one + export CEPH_ARGS + CEPH_ARGS+="--fsid=$(uuidgen) --auth-supported=none " + CEPH_ARGS+="--mon-host=$CEPH_MON " + + local funcs=${@:-$(set | sed -n -e 's/^\(TEST_[0-9a-z_]*\) .*/\1/p')} + for func in $funcs ; do + setup $dir || return 1 + $func $dir || return 1 + teardown $dir || return 1 + done +} + +function TEST_reactivate() { + local dir=$1 + + run_mon $dir a || return 1 + run_osd $dir 0 || return 1 + + kill_daemons $dir TERM osd || return 1 + + ready_path=$dir"/0/ready" + activate_path=$dir"/0/active" + # trigger mkfs again + rm -rf $ready_path $activate_path + activate_osd $dir 0 || return 1 + +} + +main osd-reactivate "$@" + +# Local Variables: +# compile-command: "cd ../.. ; make -j4 && test/osd/osd-reactivate.sh" +# End: