From 71ea1716043843dd191830f0bcbcc4a88059a9c2 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 20 Jul 2017 22:54:48 -0400 Subject: [PATCH] qa: move ceph-helpers and misc src/test/*.sh tests to qa/standalone - stop running via make check - add teuthology yamls to run them - disable ceph_objecstore_tool.py for now (too slow for make check, and we can't use vstart in teuthology via a package install) - drop cephtool tests since those are already covered by other teuthology tests - leave a handful of (fast!) ceph-helpers tests for make check for minimal integration tests. Signed-off-by: Sage Weil --- qa/{workunits => standalone}/ceph-helpers.sh | 31 ++-- .../standalone}/crush/crush-choose-args.sh | 5 +- .../standalone}/crush/crush-classes.sh | 5 +- .../erasure-code/test-erasure-code-plugins.sh | 23 ++- .../erasure-code/test-erasure-code.sh | 5 +- .../erasure-code/test-erasure-eio.sh | 3 +- .../standalone/misc}/rados-striper.sh | 21 ++- .../standalone/misc}/test-ceph-helpers.sh | 3 +- {src/test => qa/standalone}/mon/misc.sh | 3 +- {src/test => qa/standalone}/mon/mkfs.sh | 20 ++- {src/test => qa/standalone}/mon/mon-bind.sh | 3 +- .../standalone}/mon/mon-created-time.sh | 5 +- .../standalone}/mon/mon-handle-forward.sh | 7 +- {src/test => qa/standalone}/mon/mon-ping.sh | 3 +- {src/test => qa/standalone}/mon/mon-scrub.sh | 3 +- {src/test => qa/standalone}/mon/osd-crush.sh | 3 +- .../mon/osd-erasure-code-profile.sh | 15 +- .../standalone}/mon/osd-pool-create.sh | 5 +- .../standalone}/mon/test_pool_quota.sh | 11 +- {src/test => qa/standalone}/osd/osd-bench.sh | 3 +- {src/test => qa/standalone}/osd/osd-config.sh | 3 +- .../standalone}/osd/osd-copy-from.sh | 3 +- {src/test => qa/standalone}/osd/osd-dup.sh | 3 +- .../standalone}/osd/osd-fast-mark-down.sh | 29 ++-- .../standalone}/osd/osd-markdown.sh | 5 +- .../standalone}/osd/osd-reactivate.sh | 3 +- .../standalone}/osd/osd-reuse-id.sh | 4 +- .../standalone}/osd/osd-scrub-repair.sh | 7 +- .../standalone}/osd/osd-scrub-snaps.sh | 3 +- .../all/erasure-code-nonregression.yaml | 17 +++ qa/suites/rados/standalone/crush.yaml | 18 +++ qa/suites/rados/standalone/erasure-code.yaml | 18 +++ qa/suites/rados/standalone/misc.yaml | 18 +++ qa/suites/rados/standalone/mon.yaml | 18 +++ qa/suites/rados/standalone/osd.yaml | 18 +++ qa/workunits/cephtool/test.sh | 2 +- src/ceph-disk/tests/ceph-disk.sh | 2 +- src/test/CMakeLists.txt | 10 -- src/test/cephtool-test-mds.sh | 24 --- src/test/cephtool-test-mon.sh | 26 ---- src/test/cephtool-test-osd.sh | 24 --- src/test/cephtool-test-rados.sh | 21 --- src/test/crush/CMakeLists.txt | 2 - src/test/crush/crush_weights.sh | 1 - src/test/encoding/check-generated.sh | 2 +- src/test/erasure-code/CMakeLists.txt | 4 - src/test/libradosstriper/CMakeLists.txt | 2 - src/test/mgr/mgr-dashboard-smoke.sh | 2 +- src/test/mon/CMakeLists.txt | 13 -- src/test/mon/run_test.sh | 139 ------------------ src/test/osd/CMakeLists.txt | 14 -- src/test/test_crush_bucket.sh | 2 +- src/test/test_pidfile.sh | 2 +- src/test/test_pool_create.sh | 2 +- src/test/vstart_wrapper.sh | 2 +- 55 files changed, 224 insertions(+), 416 deletions(-) rename qa/{workunits => standalone}/ceph-helpers.sh (98%) rename {src/test => qa/standalone}/crush/crush-choose-args.sh (96%) rename {src/test => qa/standalone}/crush/crush-classes.sh (96%) rename {src/test => qa/standalone}/erasure-code/test-erasure-code-plugins.sh (92%) rename {src/test => qa/standalone}/erasure-code/test-erasure-code.sh (99%) rename {src/test => qa/standalone}/erasure-code/test-erasure-eio.sh (98%) rename {src/test/libradosstriper => qa/standalone/misc}/rados-striper.sh (94%) rename {src/test => qa/standalone/misc}/test-ceph-helpers.sh (89%) rename {src/test => qa/standalone}/mon/misc.sh (99%) rename {src/test => qa/standalone}/mon/mkfs.sh (94%) rename {src/test => qa/standalone}/mon/mon-bind.sh (98%) rename {src/test => qa/standalone}/mon/mon-created-time.sh (93%) rename {src/test => qa/standalone}/mon/mon-handle-forward.sh (93%) rename {src/test => qa/standalone}/mon/mon-ping.sh (92%) rename {src/test => qa/standalone}/mon/mon-scrub.sh (93%) rename {src/test => qa/standalone}/mon/osd-crush.sh (98%) rename {src/test => qa/standalone}/mon/osd-erasure-code-profile.sh (95%) rename {src/test => qa/standalone}/mon/osd-pool-create.sh (98%) rename {src/test => qa/standalone}/mon/test_pool_quota.sh (92%) rename {src/test => qa/standalone}/osd/osd-bench.sh (96%) rename {src/test => qa/standalone}/osd/osd-config.sh (97%) rename {src/test => qa/standalone}/osd/osd-copy-from.sh (95%) rename {src/test => qa/standalone}/osd/osd-dup.sh (95%) rename {src/test => qa/standalone}/osd/osd-fast-mark-down.sh (85%) rename {src/test => qa/standalone}/osd/osd-markdown.sh (97%) rename {src/test => qa/standalone}/osd/osd-reactivate.sh (93%) rename {src/test => qa/standalone}/osd/osd-reuse-id.sh (93%) rename {src/test => qa/standalone}/osd/osd-scrub-repair.sh (99%) rename {src/test => qa/standalone}/osd/osd-scrub-snaps.sh (99%) create mode 100644 qa/suites/rados/singleton/all/erasure-code-nonregression.yaml create mode 100644 qa/suites/rados/standalone/crush.yaml create mode 100644 qa/suites/rados/standalone/erasure-code.yaml create mode 100644 qa/suites/rados/standalone/misc.yaml create mode 100644 qa/suites/rados/standalone/mon.yaml create mode 100644 qa/suites/rados/standalone/osd.yaml delete mode 100755 src/test/cephtool-test-mds.sh delete mode 100755 src/test/cephtool-test-mon.sh delete mode 100755 src/test/cephtool-test-osd.sh delete mode 100755 src/test/cephtool-test-rados.sh delete mode 100755 src/test/mon/run_test.sh diff --git a/qa/workunits/ceph-helpers.sh b/qa/standalone/ceph-helpers.sh similarity index 98% rename from qa/workunits/ceph-helpers.sh rename to qa/standalone/ceph-helpers.sh index d1fc2c0fef7..3c623681e0d 100755 --- a/qa/workunits/ceph-helpers.sh +++ b/qa/standalone/ceph-helpers.sh @@ -36,12 +36,19 @@ if [ `uname` = FreeBSD ]; then else SED=sed termwidth=$(stty -a | head -1 | sed -e 's/.*columns \([0-9]*\).*/\1/') - if [ -n "$termwidth" -a "$termwidth" != "0" ]; then - termwidth="-W ${termwidth}" + if [ -n "$termwidth" -a "$termwidth" != "0" ]; then + termwidth="-W ${termwidth}" fi DIFFCOLOPTS="-y $termwidth" fi +EXTRA_OPTS="" +if [ -n "$CEPH_LIB" ]; then + EXTRA_OPTS+=" --erasure-code-dir $CEPH_LIB" + EXTRA_OPTS+=" --plugin-dir $CEPH_LIB" + EXTRA_OPTS+=" --osd-class-dir $CEPH_LIB" +fi + #! @file ceph-helpers.sh # @brief Toolbox to manage Ceph cluster dedicated to testing # @@ -276,10 +283,10 @@ function test_kill_daemon() { # # If a daemon is sent the TERM signal and does not terminate # within a few minutes, it will still be running even after -# kill_daemons returns. +# kill_daemons returns. # # If all daemons are kill successfully the function returns 0 -# if at least one daemon remains, this is treated as an +# if at least one daemon remains, this is treated as an # error and the function return 1. # # @param dir path name of the environment @@ -318,7 +325,7 @@ function test_kill_daemons() { # # sending signal 0 won't kill the daemon # waiting just for one second instead of the default schedule - # allows us to quickly verify what happens when kill fails + # allows us to quickly verify what happens when kill fails # to stop the daemon (i.e. it must return false) # ! kill_daemons $dir 0 osd 1 || return 1 @@ -401,8 +408,7 @@ function run_mon_no_pool() { --mon-data-avail-crit=1 \ --paxos-propose-interval=0.1 \ --osd-crush-chooseleaf-type=0 \ - --erasure-code-dir=$CEPH_LIB \ - --plugin-dir=$CEPH_LIB \ + $EXTRA_OPTS \ --debug-mon 20 \ --debug-ms 20 \ --debug-paxos 20 \ @@ -490,8 +496,7 @@ function run_mgr() { ceph-mgr \ --id $id \ - --erasure-code-dir=$CEPH_LIB \ - --plugin-dir=$CEPH_LIB \ + $EXTRA_OPTS \ --debug-mgr 20 \ --debug-objecter 20 \ --debug-ms 20 \ @@ -694,9 +699,7 @@ function activate_osd() { ceph_args+=" --osd-scrub-load-threshold=2000" ceph_args+=" --osd-data=$osd_data" ceph_args+=" --chdir=" - ceph_args+=" --erasure-code-dir=$CEPH_LIB" - ceph_args+=" --plugin-dir=$CEPH_LIB" - ceph_args+=" --osd-class-dir=$CEPH_LIB" + ceph_args+=$EXTRA_OPTS ceph_args+=" --run-dir=$dir" ceph_args+=" --admin-socket=$(get_asok_path)" ceph_args+=" --debug-osd=20" @@ -838,7 +841,7 @@ function wait_for_quorum() { fi no_quorum=1 - wait_until=$((`date +%s` + $timeout)) + wait_until=$((`date +%s` + $timeout)) while [[ $(date +%s) -lt $wait_until ]]; do jqfilter='.quorum | length == '$quorumsize jqinput="$(timeout $timeout ceph mon_status --format=json 2>/dev/null)" @@ -1905,5 +1908,5 @@ function jq_success() { } # Local Variables: -# compile-command: "cd ../../src ; make -j4 && ../qa/workunits/ceph-helpers.sh TESTS # test_get_config" +# compile-command: "cd ../../src ; make -j4 && ../qa/standalone/ceph-helpers.sh TESTS # test_get_config" # End: diff --git a/src/test/crush/crush-choose-args.sh b/qa/standalone/crush/crush-choose-args.sh similarity index 96% rename from src/test/crush/crush-choose-args.sh rename to qa/standalone/crush/crush-choose-args.sh index 493d5d40f2d..6e03a999c64 100755 --- a/src/test/crush/crush-choose-args.sh +++ b/qa/standalone/crush/crush-choose-args.sh @@ -15,8 +15,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -91,7 +90,7 @@ EOF destroy_osd $dir 1 || return 1 ceph osd getcrushmap > $dir/map-one-less || return 1 crushtool -d $dir/map-one-less -o $dir/map-one-less.txt || return 1 - diff -u $dir/map-one-less.txt $dir/map.txt || return 1 + diff -u $dir/map-one-less.txt $dir/map.txt || return 1 } function TEST_no_update_weight_set() { diff --git a/src/test/crush/crush-classes.sh b/qa/standalone/crush/crush-classes.sh similarity index 96% rename from src/test/crush/crush-classes.sh rename to qa/standalone/crush/crush-classes.sh index b26cc8691ad..b674acfe4f0 100755 --- a/src/test/crush/crush-classes.sh +++ b/qa/standalone/crush/crush-classes.sh @@ -15,8 +15,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -94,7 +93,7 @@ function TEST_classes() { fi sleep $delay ceph osd dump # for debugging purposes - ceph pg dump # for debugging purposes + ceph pg dump # for debugging purposes done $ok || return 1 # diff --git a/src/test/erasure-code/test-erasure-code-plugins.sh b/qa/standalone/erasure-code/test-erasure-code-plugins.sh similarity index 92% rename from src/test/erasure-code/test-erasure-code-plugins.sh rename to qa/standalone/erasure-code/test-erasure-code-plugins.sh index b148f3a9bb3..2f7ef3afa8a 100755 --- a/src/test/erasure-code/test-erasure-code-plugins.sh +++ b/qa/standalone/erasure-code/test-erasure-code-plugins.sh @@ -1,7 +1,6 @@ #!/bin/bash -x -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh arch=$(uname -m) @@ -11,7 +10,7 @@ case $arch in legacy_shec_plugins=(shec_generic shec_sse3 shec_sse4) plugins=(jerasure shec lrc isa) ;; - aarch64*|arm*) + aarch64*|arm*) legacy_jerasure_plugins=(jerasure_generic jerasure_neon) legacy_shec_plugins=(shec_generic shec_neon) plugins=(jerasure shec lrc) @@ -39,13 +38,13 @@ function run() { function TEST_preload_warning() { local dir=$1 - + for plugin in ${legacy_jerasure_plugins[*]} ${legacy_shec_plugins[*]}; do setup $dir || return 1 - run_mon $dir a --osd_erasure_code_plugins="${plugin}" || return 1 + run_mon $dir a --osd_erasure_code_plugins="${plugin}" || return 1 run_mgr $dir x || return 1 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1 - run_osd $dir 0 --osd_erasure_code_plugins="${plugin}" || return 1 + run_osd $dir 0 --osd_erasure_code_plugins="${plugin}" || return 1 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1 grep "WARNING: osd_erasure_code_plugins contains plugin ${plugin}" $dir/mon.a.log || return 1 grep "WARNING: osd_erasure_code_plugins contains plugin ${plugin}" $dir/osd.0.log || return 1 @@ -59,10 +58,10 @@ function TEST_preload_no_warning() { for plugin in ${plugins[*]}; do setup $dir || return 1 - run_mon $dir a --osd_erasure_code_plugins="${plugin}" || return 1 + run_mon $dir a --osd_erasure_code_plugins="${plugin}" || return 1 run_mgr $dir x || return 1 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1 - run_osd $dir 0 --osd_erasure_code_plugins="${plugin}" || return 1 + run_osd $dir 0 --osd_erasure_code_plugins="${plugin}" || return 1 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1 ! grep "WARNING: osd_erasure_code_plugins contains plugin" $dir/mon.a.log || return 1 ! grep "WARNING: osd_erasure_code_plugins contains plugin" $dir/osd.0.log || return 1 @@ -76,10 +75,10 @@ function TEST_preload_no_warning_default() { local dir=$1 setup $dir || return 1 - run_mon $dir a || return 1 + run_mon $dir a || return 1 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1 run_mgr $dir x || return 1 - run_osd $dir 0 || return 1 + run_osd $dir 0 || return 1 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1 ! grep "WARNING: osd_erasure_code_plugins" $dir/mon.a.log || return 1 ! grep "WARNING: osd_erasure_code_plugins" $dir/osd.0.log || return 1 @@ -92,10 +91,10 @@ function TEST_ec_profile_warning() { local dir=$1 setup $dir || return 1 - run_mon $dir a || return 1 + run_mon $dir a || return 1 run_mgr $dir x || return 1 for id in $(seq 0 2) ; do - run_osd $dir $id || return 1 + run_osd $dir $id || return 1 done wait_for_clean || return 1 diff --git a/src/test/erasure-code/test-erasure-code.sh b/qa/standalone/erasure-code/test-erasure-code.sh similarity index 99% rename from src/test/erasure-code/test-erasure-code.sh rename to qa/standalone/erasure-code/test-erasure-code.sh index 91fd32062b2..c97762e4628 100755 --- a/src/test/erasure-code/test-erasure-code.sh +++ b/qa/standalone/erasure-code/test-erasure-code.sh @@ -16,8 +16,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -254,7 +253,7 @@ function TEST_rados_put_get_shec() { function TEST_alignment_constraints() { local payload=ABC echo "$payload" > $dir/ORIGINAL - # + # # Verify that the rados command enforces alignment constraints # imposed by the stripe width # See http://tracker.ceph.com/issues/8622 diff --git a/src/test/erasure-code/test-erasure-eio.sh b/qa/standalone/erasure-code/test-erasure-eio.sh similarity index 98% rename from src/test/erasure-code/test-erasure-eio.sh rename to qa/standalone/erasure-code/test-erasure-eio.sh index 90a225ed3cf..60069ddab74 100755 --- a/src/test/erasure-code/test-erasure-eio.sh +++ b/qa/standalone/erasure-code/test-erasure-eio.sh @@ -16,8 +16,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/libradosstriper/rados-striper.sh b/qa/standalone/misc/rados-striper.sh similarity index 94% rename from src/test/libradosstriper/rados-striper.sh rename to qa/standalone/misc/rados-striper.sh index ed0c7af65ad..2844a5930c3 100755 --- a/src/test/libradosstriper/rados-striper.sh +++ b/qa/standalone/misc/rados-striper.sh @@ -14,8 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -37,10 +36,10 @@ function run() { # create toyfile dd if=/dev/urandom of=$dir/toyfile bs=1234 count=1 - + # put a striped object rados --pool rbd --striper put toyfile $dir/toyfile || return 1 - + # stat it, with and without striping rados --pool rbd --striper stat toyfile | cut -d ',' -f 2 > $dir/stripedStat || return 1 rados --pool rbd stat toyfile.0000000000000000 | cut -d ',' -f 2 > $dir/stat || return 1 @@ -49,13 +48,13 @@ function run() { diff -w $dir/stat $dir/refstat || return 1 rados --pool rbd stat toyfile >& $dir/staterror grep -q 'No such file or directory' $dir/staterror || return 1 - + # get the file back with and without striping rados --pool rbd --striper get toyfile $dir/stripedGroup || return 1 diff -w $dir/toyfile $dir/stripedGroup || return 1 rados --pool rbd get toyfile.0000000000000000 $dir/nonSTripedGroup || return 1 diff -w $dir/toyfile $dir/nonSTripedGroup || return 1 - + # test truncate rados --pool rbd --striper truncate toyfile 12 rados --pool rbd --striper stat toyfile | cut -d ',' -f 2 > $dir/stripedStat || return 1 @@ -63,12 +62,12 @@ function run() { echo ' size 12' > $dir/reftrunc diff -w $dir/stripedStat $dir/reftrunc || return 1 diff -w $dir/stat $dir/reftrunc || return 1 - + # test xattrs rados --pool rbd --striper setxattr toyfile somexattr somevalue || return 1 - rados --pool rbd --striper getxattr toyfile somexattr > $dir/xattrvalue || return 1 - rados --pool rbd getxattr toyfile.0000000000000000 somexattr > $dir/xattrvalue2 || return 1 + rados --pool rbd --striper getxattr toyfile somexattr > $dir/xattrvalue || return 1 + rados --pool rbd getxattr toyfile.0000000000000000 somexattr > $dir/xattrvalue2 || return 1 echo 'somevalue' > $dir/refvalue diff -w $dir/xattrvalue $dir/refvalue || return 1 diff -w $dir/xattrvalue2 $dir/refvalue || return 1 @@ -76,7 +75,7 @@ function run() { echo 'somexattr' > $dir/reflist diff -w $dir/xattrlist $dir/reflist || return 1 rados --pool rbd listxattr toyfile.0000000000000000 | grep -v striper > $dir/xattrlist2 || return 1 - diff -w $dir/xattrlist2 $dir/reflist || return 1 + diff -w $dir/xattrlist2 $dir/reflist || return 1 rados --pool rbd --striper rmxattr toyfile somexattr || return 1 local attr_not_found_str="No data available" @@ -86,7 +85,7 @@ function run() { rados --pool rbd --striper getxattr toyfile somexattr || return 1 expect_failure $dir "$attr_not_found_str" \ rados --pool rbd getxattr toyfile.0000000000000000 somexattr || return 1 - + # test rm rados --pool rbd --striper rm toyfile || return 1 expect_failure $dir 'No such file or directory' \ diff --git a/src/test/test-ceph-helpers.sh b/qa/standalone/misc/test-ceph-helpers.sh similarity index 89% rename from src/test/test-ceph-helpers.sh rename to qa/standalone/misc/test-ceph-helpers.sh index 488bed02318..3a6788ecaa3 100755 --- a/src/test/test-ceph-helpers.sh +++ b/qa/standalone/misc/test-ceph-helpers.sh @@ -17,6 +17,5 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/detect-build-env-vars.sh -$CEPH_ROOT/qa/workunits/ceph-helpers.sh TESTS +$CEPH_ROOT/qa/standalone/ceph-helpers.sh TESTS diff --git a/src/test/mon/misc.sh b/qa/standalone/mon/misc.sh similarity index 99% rename from src/test/mon/misc.sh rename to qa/standalone/mon/misc.sh index 0ffccd76921..bd0aa1c3650 100755 --- a/src/test/mon/misc.sh +++ b/qa/standalone/mon/misc.sh @@ -15,8 +15,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/mon/mkfs.sh b/qa/standalone/mon/mkfs.sh similarity index 94% rename from src/test/mon/mkfs.sh rename to qa/standalone/mon/mkfs.sh index 045d235dc71..6b8e58d8a37 100755 --- a/src/test/mon/mkfs.sh +++ b/qa/standalone/mon/mkfs.sh @@ -18,7 +18,6 @@ set -xe PS4='${BASH_SOURCE[0]}:$LINENO: ${FUNCNAME[0]}: ' -source $(dirname $0)/../detect-build-env-vars.sh DIR=mkfs export CEPH_CONF=/dev/null @@ -28,6 +27,13 @@ MON_DIR=$DIR/$MON_ID CEPH_MON=127.0.0.1:7110 # git grep '\<7110\>' : there must be only one TIMEOUT=360 +EXTRAOPTS="" +if [ -n "$CEPH_LIB" ]; then + EXTRAOPTS+=" --erasure-code-dir $CEPH_LIB" + EXTRAOPTS+=" --plugin-dir $CEPH_LIB" + EXTRAOPTS+=" --osd-class-dir $CEPH_LIB" +fi + function setup() { teardown mkdir $DIR @@ -44,7 +50,7 @@ function mon_mkfs() { ceph-mon \ --id $MON_ID \ --fsid $fsid \ - --erasure-code-dir=$CEPH_LIB \ + $EXTRAOPTS \ --mkfs \ --mon-data=$MON_DIR \ --mon-initial-members=$MON_ID \ @@ -58,7 +64,7 @@ function mon_run() { --chdir= \ --mon-osd-full-ratio=.99 \ --mon-data-avail-crit=1 \ - --erasure-code-dir=$CEPH_LIB \ + $EXTRAOPTS \ --mon-data=$MON_DIR \ --log-file=$MON_DIR/log \ --mon-cluster-log-file=$MON_DIR/log \ @@ -85,7 +91,7 @@ function auth_none() { --id $MON_ID \ --mon-osd-full-ratio=.99 \ --mon-data-avail-crit=1 \ - --erasure-code-dir=$CEPH_LIB \ + $EXTRAOPTS \ --mon-data=$MON_DIR \ --extract-monmap $MON_DIR/monmap @@ -94,7 +100,7 @@ function auth_none() { [ ! -f $MON_DIR/keyring ] || return 1 mon_run --auth-supported=none - + timeout $TIMEOUT ceph --mon-host $CEPH_MON mon stat || return 1 } @@ -121,7 +127,7 @@ function auth_cephx_key() { if [ -f /etc/ceph/keyring ] ; then echo "Please move /etc/ceph/keyring away for testing!" return 1 - fi + fi local key=$(ceph-authtool --gen-print-key) @@ -153,7 +159,7 @@ function makedir() { --id $MON_ID \ --mon-osd-full-ratio=.99 \ --mon-data-avail-crit=1 \ - --erasure-code-dir=$CEPH_LIB \ + $EXTRAOPTS \ --mkfs \ --mon-data=$toodeep 2>&1 | tee $DIR/makedir.log grep 'toodeep.*No such file' $DIR/makedir.log > /dev/null diff --git a/src/test/mon/mon-bind.sh b/qa/standalone/mon/mon-bind.sh similarity index 98% rename from src/test/mon/mon-bind.sh rename to qa/standalone/mon/mon-bind.sh index abac7761bd0..c0e0e0142fe 100755 --- a/src/test/mon/mon-bind.sh +++ b/qa/standalone/mon/mon-bind.sh @@ -12,8 +12,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh SOCAT_PIDS=() diff --git a/src/test/mon/mon-created-time.sh b/qa/standalone/mon/mon-created-time.sh similarity index 93% rename from src/test/mon/mon-created-time.sh rename to qa/standalone/mon/mon-created-time.sh index 719044fc930..0955803ae74 100755 --- a/src/test/mon/mon-created-time.sh +++ b/qa/standalone/mon/mon-created-time.sh @@ -12,8 +12,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -42,7 +41,7 @@ function TEST_mon_created_time() { if test "$(ceph mon dump 2>/dev/null | sed -n '/created/p' | awk '{print $NF}')"x = ""x ; then return 1 fi - + if test "$(ceph mon dump 2>/dev/null | sed -n '/created/p' | awk '{print $NF}')"x = "0.000000"x ; then return 1 fi diff --git a/src/test/mon/mon-handle-forward.sh b/qa/standalone/mon/mon-handle-forward.sh similarity index 93% rename from src/test/mon/mon-handle-forward.sh rename to qa/standalone/mon/mon-handle-forward.sh index c49657004ec..e3b539bf7b7 100755 --- a/src/test/mon/mon-handle-forward.sh +++ b/qa/standalone/mon/mon-handle-forward.sh @@ -15,8 +15,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -26,7 +25,7 @@ function run() { MONA=127.0.0.1:7300 MONB=127.0.0.1:7301 ( - FSID=$(uuidgen) + FSID=$(uuidgen) export CEPH_ARGS CEPH_ARGS+="--fsid=$FSID --auth-supported=none " CEPH_ARGS+="--mon-initial-members=a,b --mon-host=$MONA,$MONB " @@ -39,7 +38,7 @@ function run() { ceph --admin-daemon $(get_asok_path mon.b) mon_status | grep '"peon"' || return 1 # when the leader ( MONA ) is used, there is no message forwarding - ceph --mon-host $MONA osd pool create POOL1 12 + ceph --mon-host $MONA osd pool create POOL1 12 CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1 grep 'mon_command(.*"POOL1"' $dir/a/mon.a.log CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.b) log flush || return 1 diff --git a/src/test/mon/mon-ping.sh b/qa/standalone/mon/mon-ping.sh similarity index 92% rename from src/test/mon/mon-ping.sh rename to qa/standalone/mon/mon-ping.sh index 9fb8848896f..9574f5f0f9b 100755 --- a/src/test/mon/mon-ping.sh +++ b/qa/standalone/mon/mon-ping.sh @@ -12,8 +12,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/mon/mon-scrub.sh b/qa/standalone/mon/mon-scrub.sh similarity index 93% rename from src/test/mon/mon-scrub.sh rename to qa/standalone/mon/mon-scrub.sh index b140912ec17..b40a6bc6740 100755 --- a/src/test/mon/mon-scrub.sh +++ b/qa/standalone/mon/mon-scrub.sh @@ -15,8 +15,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/mon/osd-crush.sh b/qa/standalone/mon/osd-crush.sh similarity index 98% rename from src/test/mon/osd-crush.sh rename to qa/standalone/mon/osd-crush.sh index 7cc84f2f8ca..cc754af2cf1 100755 --- a/src/test/mon/osd-crush.sh +++ b/qa/standalone/mon/osd-crush.sh @@ -15,8 +15,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/mon/osd-erasure-code-profile.sh b/qa/standalone/mon/osd-erasure-code-profile.sh similarity index 95% rename from src/test/mon/osd-erasure-code-profile.sh rename to qa/standalone/mon/osd-erasure-code-profile.sh index f99e091d187..6bfc2587f8b 100755 --- a/src/test/mon/osd-erasure-code-profile.sh +++ b/qa/standalone/mon/osd-erasure-code-profile.sh @@ -15,8 +15,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -53,9 +52,9 @@ function TEST_set() { # key=value pairs override the default # ceph osd erasure-code-profile set $profile \ - key=value plugin=example || return 1 + key=value plugin=isa || return 1 ceph osd erasure-code-profile get $profile | \ - grep -e key=value -e plugin=example || return 1 + grep -e key=value -e plugin=isa || return 1 # # --force is required to override an existing profile # @@ -129,7 +128,7 @@ function TEST_set_idempotent() { run_mon $dir a || return 1 # - # The default profile is set using a code path different from + # The default profile is set using a code path different from # ceph osd erasure-code-profile set: verify that it is idempotent, # as if it was using the same code path. # @@ -175,7 +174,7 @@ function TEST_format_json() { local dir=$1 # osd_pool_default_erasure-code-profile is JSON - expected='"plugin":"example"' + expected='"plugin":"isa"' run_mon $dir a \ --osd_pool_default_erasure-code-profile "{$expected}" || return 1 ceph --format json osd erasure-code-profile get default | \ @@ -186,9 +185,9 @@ function TEST_format_plain() { local dir=$1 # osd_pool_default_erasure-code-profile is plain text - expected='"plugin":"example"' + expected='"plugin":"isa"' run_mon $dir a \ - --osd_pool_default_erasure-code-profile "plugin=example" || return 1 + --osd_pool_default_erasure-code-profile "plugin=isa" || return 1 ceph --format json osd erasure-code-profile get default | \ grep "$expected" || return 1 } diff --git a/src/test/mon/osd-pool-create.sh b/qa/standalone/mon/osd-pool-create.sh similarity index 98% rename from src/test/mon/osd-pool-create.sh rename to qa/standalone/mon/osd-pool-create.sh index 53733abf804..9562209fc51 100755 --- a/src/test/mon/osd-pool-create.sh +++ b/qa/standalone/mon/osd-pool-create.sh @@ -15,8 +15,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -48,7 +47,7 @@ function TEST_erasure_invalid_profile() { function TEST_erasure_crush_rule() { local dir=$1 run_mon $dir a || return 1 - # + # # choose the crush ruleset used with an erasure coded pool # local crush_ruleset=myruleset diff --git a/src/test/mon/test_pool_quota.sh b/qa/standalone/mon/test_pool_quota.sh similarity index 92% rename from src/test/mon/test_pool_quota.sh rename to qa/standalone/mon/test_pool_quota.sh index 28c58bdc839..dcf89fd26e2 100755 --- a/src/test/mon/test_pool_quota.sh +++ b/qa/standalone/mon/test_pool_quota.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # # Generic pool quota test @@ -6,9 +6,8 @@ # Includes -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -28,12 +27,12 @@ function run() { function TEST_pool_quota() { local dir=$1 setup $dir || return 1 - + run_mon $dir a || return 1 run_osd $dir 0 || return 1 run_osd $dir 1 || return 1 run_osd $dir 2 || return 1 - + local poolname=testquoa ceph osd pool create $poolname 20 local objects=`ceph df detail | grep -w $poolname|awk '{print $3}'` @@ -51,7 +50,7 @@ function TEST_pool_quota() { objects=`ceph df detail | grep -w $poolname|awk '{print $3}'` bytes=`ceph df detail | grep -w $poolname|awk '{print $4}'` - + if [ $objects != '1000' ] || [ $bytes != '1024' ] ; then return 1 diff --git a/src/test/osd/osd-bench.sh b/qa/standalone/osd/osd-bench.sh similarity index 96% rename from src/test/osd/osd-bench.sh rename to qa/standalone/osd/osd-bench.sh index c44eb28e56a..59a6f8d8d7e 100755 --- a/src/test/osd/osd-bench.sh +++ b/qa/standalone/osd/osd-bench.sh @@ -16,8 +16,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/osd/osd-config.sh b/qa/standalone/osd/osd-config.sh similarity index 97% rename from src/test/osd/osd-config.sh rename to qa/standalone/osd/osd-config.sh index 4ef266ee98d..d2dfe992848 100755 --- a/src/test/osd/osd-config.sh +++ b/qa/standalone/osd/osd-config.sh @@ -16,8 +16,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/osd/osd-copy-from.sh b/qa/standalone/osd/osd-copy-from.sh similarity index 95% rename from src/test/osd/osd-copy-from.sh rename to qa/standalone/osd/osd-copy-from.sh index ce7c04dfe4c..37851fab9a6 100755 --- a/src/test/osd/osd-copy-from.sh +++ b/qa/standalone/osd/osd-copy-from.sh @@ -17,8 +17,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/osd/osd-dup.sh b/qa/standalone/osd/osd-dup.sh similarity index 95% rename from src/test/osd/osd-dup.sh rename to qa/standalone/osd/osd-dup.sh index f497005d168..a1bd1af5d62 100755 --- a/src/test/osd/osd-dup.sh +++ b/qa/standalone/osd/osd-dup.sh @@ -1,7 +1,6 @@ #!/bin/bash -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/osd/osd-fast-mark-down.sh b/qa/standalone/osd/osd-fast-mark-down.sh similarity index 85% rename from src/test/osd/osd-fast-mark-down.sh rename to qa/standalone/osd/osd-fast-mark-down.sh index 051b7d32815..3d27930e6e6 100755 --- a/src/test/osd/osd-fast-mark-down.sh +++ b/qa/standalone/osd/osd-fast-mark-down.sh @@ -16,8 +16,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh MAX_PROPAGATION_TIME=30 function run() { @@ -34,20 +33,20 @@ function run() { # and hence affect the down osd counting. # E.g., # - # ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY - # -4 3.00000 root default~hdd - # -3 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic~hdd - # 0 1.00000 osd.0 down 1.00000 1.00000 - # 1 1.00000 osd.1 up 1.00000 1.00000 - # 2 1.00000 osd.2 up 1.00000 1.00000 - # -1 3.00000 root default - # -2 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic - # 0 1.00000 osd.0 down 1.00000 1.00000 - # 1 1.00000 osd.1 up 1.00000 1.00000 - # 2 1.00000 osd.2 up 1.00000 1.00000 + # ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY + # -4 3.00000 root default~hdd + # -3 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic~hdd + # 0 1.00000 osd.0 down 1.00000 1.00000 + # 1 1.00000 osd.1 up 1.00000 1.00000 + # 2 1.00000 osd.2 up 1.00000 1.00000 + # -1 3.00000 root default + # -2 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic + # 0 1.00000 osd.0 down 1.00000 1.00000 + # 1 1.00000 osd.1 up 1.00000 1.00000 + # 2 1.00000 osd.2 up 1.00000 1.00000 # CEPH_ARGS+="--osd-class-update-on-start=false " - + OLD_ARGS=$CEPH_ARGS CEPH_ARGS+="--osd-fast-fail-on-connection-refused=false " echo "Ensuring old behavior is there..." @@ -95,7 +94,7 @@ function test_fast_kill() { kill -9 $killid time_left=$MAX_PROPAGATION_TIME down_osds=0 - + while [ $time_left -gt 0 ]; do sleep 1 time_left=$[$time_left - 1]; diff --git a/src/test/osd/osd-markdown.sh b/qa/standalone/osd/osd-markdown.sh similarity index 97% rename from src/test/osd/osd-markdown.sh rename to qa/standalone/osd/osd-markdown.sh index aa67d9e7706..b3c800c081d 100755 --- a/src/test/osd/osd-markdown.sh +++ b/qa/standalone/osd/osd-markdown.sh @@ -16,8 +16,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -103,7 +102,7 @@ function TEST_markdown_boot_exceed_time() { run_osd $dir 1 || return 1 run_osd $dir 2 || return 1 - + # 3+1 times, but over 40s, > 20s, so should stay up local count=3 local period=20 diff --git a/src/test/osd/osd-reactivate.sh b/qa/standalone/osd/osd-reactivate.sh similarity index 93% rename from src/test/osd/osd-reactivate.sh rename to qa/standalone/osd/osd-reactivate.sh index 5088baf4eb4..ddeee951a9e 100755 --- a/src/test/osd/osd-reactivate.sh +++ b/qa/standalone/osd/osd-reactivate.sh @@ -13,8 +13,7 @@ # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/osd/osd-reuse-id.sh b/qa/standalone/osd/osd-reuse-id.sh similarity index 93% rename from src/test/osd/osd-reuse-id.sh rename to qa/standalone/osd/osd-reuse-id.sh index fb0afb13886..04666e1b634 100755 --- a/src/test/osd/osd-reuse-id.sh +++ b/qa/standalone/osd/osd-reuse-id.sh @@ -14,8 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 @@ -50,4 +49,3 @@ main osd-reuse-id "$@" # Local Variables: # compile-command: "cd ../.. ; make -j4 && test/osd/osd-reuse-id.sh" # End: - diff --git a/src/test/osd/osd-scrub-repair.sh b/qa/standalone/osd/osd-scrub-repair.sh similarity index 99% rename from src/test/osd/osd-scrub-repair.sh rename to qa/standalone/osd/osd-scrub-repair.sh index c6648750bb6..9b3083b05ab 100755 --- a/src/test/osd/osd-scrub-repair.sh +++ b/qa/standalone/osd/osd-scrub-repair.sh @@ -14,11 +14,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh if [ `uname` = FreeBSD ]; then - # erasure coding overwrites are only tested on Bluestore + # erasure coding overwrites are only tested on Bluestore # erasure coding on filestore is unsafe # http://docs.ceph.com/docs/master/rados/operations/erasure-code/#erasure-coding-with-overwrites use_ec_overwrite=false @@ -445,7 +444,7 @@ function list_missing_erasure_coded() { # Repair the PG, which triggers the recovering, # and should mark the object as unfound repair $pg - + for i in $(seq 0 120) ; do [ $i -lt 60 ] || return 1 matches=$(ceph pg $pg list_missing | egrep "MOBJ0|MOBJ1" | wc -l) diff --git a/src/test/osd/osd-scrub-snaps.sh b/qa/standalone/osd/osd-scrub-snaps.sh similarity index 99% rename from src/test/osd/osd-scrub-snaps.sh rename to qa/standalone/osd/osd-scrub-snaps.sh index 5328e5e009e..4ddd08eb68d 100755 --- a/src/test/osd/osd-scrub-snaps.sh +++ b/qa/standalone/osd/osd-scrub-snaps.sh @@ -14,8 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library Public License for more details. # -source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/qa/suites/rados/singleton/all/erasure-code-nonregression.yaml b/qa/suites/rados/singleton/all/erasure-code-nonregression.yaml new file mode 100644 index 00000000000..3e8fa37616f --- /dev/null +++ b/qa/suites/rados/singleton/all/erasure-code-nonregression.yaml @@ -0,0 +1,17 @@ +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - client.0 +openstack: + - volumes: # attached to each instance + count: 3 + size: 10 # GB +tasks: +- install: +- workunit: + client.0: + all: + - erasure-code/encode-decode-non-regression.sh diff --git a/qa/suites/rados/standalone/crush.yaml b/qa/suites/rados/standalone/crush.yaml new file mode 100644 index 00000000000..a62a0dd8184 --- /dev/null +++ b/qa/suites/rados/standalone/crush.yaml @@ -0,0 +1,18 @@ +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - client.0 +openstack: + - volumes: # attached to each instance + count: 3 + size: 10 # GB +tasks: +- install: +- workunit: + basedir: qa/standalone + clients: + all: + - crush diff --git a/qa/suites/rados/standalone/erasure-code.yaml b/qa/suites/rados/standalone/erasure-code.yaml new file mode 100644 index 00000000000..7d79753ce73 --- /dev/null +++ b/qa/suites/rados/standalone/erasure-code.yaml @@ -0,0 +1,18 @@ +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - client.0 +openstack: + - volumes: # attached to each instance + count: 3 + size: 10 # GB +tasks: +- install: +- workunit: + basedir: qa/standalone + clients: + all: + - erasure-code diff --git a/qa/suites/rados/standalone/misc.yaml b/qa/suites/rados/standalone/misc.yaml new file mode 100644 index 00000000000..4aa9ee27ebc --- /dev/null +++ b/qa/suites/rados/standalone/misc.yaml @@ -0,0 +1,18 @@ +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - client.0 +openstack: + - volumes: # attached to each instance + count: 3 + size: 10 # GB +tasks: +- install: +- workunit: + basedir: qa/standalone + clients: + all: + - misc diff --git a/qa/suites/rados/standalone/mon.yaml b/qa/suites/rados/standalone/mon.yaml new file mode 100644 index 00000000000..c19606f4243 --- /dev/null +++ b/qa/suites/rados/standalone/mon.yaml @@ -0,0 +1,18 @@ +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - client.0 +openstack: + - volumes: # attached to each instance + count: 3 + size: 10 # GB +tasks: +- install: +- workunit: + basedir: qa/standalone + clients: + all: + - mon diff --git a/qa/suites/rados/standalone/osd.yaml b/qa/suites/rados/standalone/osd.yaml new file mode 100644 index 00000000000..e28b52210d4 --- /dev/null +++ b/qa/suites/rados/standalone/osd.yaml @@ -0,0 +1,18 @@ +roles: +- - mon.a + - mgr.x + - osd.0 + - osd.1 + - osd.2 + - client.0 +openstack: + - volumes: # attached to each instance + count: 3 + size: 10 # GB +tasks: +- install: +- workunit: + basedir: qa/standalone + clients: + all: + - osd diff --git a/qa/workunits/cephtool/test.sh b/qa/workunits/cephtool/test.sh index 41a036e8514..8c1d41aed3f 100755 --- a/qa/workunits/cephtool/test.sh +++ b/qa/workunits/cephtool/test.sh @@ -2,7 +2,7 @@ # -*- mode:shell-script; tab-width:8; sh-basic-offset:2; indent-tabs-mode:t -*- # vim: ts=8 sw=8 ft=bash smarttab -source $(dirname $0)/../ceph-helpers.sh +source $(dirname $0)/../../standalone/ceph-helpers.sh set -e set -o functrace diff --git a/src/ceph-disk/tests/ceph-disk.sh b/src/ceph-disk/tests/ceph-disk.sh index eaa1c45af15..de349f95d27 100755 --- a/src/ceph-disk/tests/ceph-disk.sh +++ b/src/ceph-disk/tests/ceph-disk.sh @@ -25,7 +25,7 @@ if [ -z "$CEPH_ROOT" ] || [ -z "$CEPH_BIN" ] || [ -z "$CEPH_LIB" ]; then CEPH_BIN=$CEPH_ROOT CEPH_LIB=$CEPH_ROOT/.libs fi -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh set -x diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index cf0f028cbad..50c860dea8a 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -556,16 +556,6 @@ if(NOT FREEBSD) add_dependencies(tests ceph-detect-init) endif(NOT FREEBSD) -add_ceph_test(test-ceph-helpers.sh ${CMAKE_CURRENT_SOURCE_DIR}/test-ceph-helpers.sh) -add_ceph_test(erasure-decode-non-regression.sh ${CMAKE_SOURCE_DIR}/qa/workunits/erasure-code/encode-decode-non-regression.sh) - -add_ceph_test(ceph_objectstore_tool.py ${CMAKE_CURRENT_SOURCE_DIR}/ceph_objectstore_tool.py) -if(WITH_LIBCEPHFS) - add_ceph_test(cephtool-test-mds.sh ${CMAKE_CURRENT_SOURCE_DIR}/cephtool-test-mds.sh) -endif(WITH_LIBCEPHFS) -add_ceph_test(cephtool-test-mon.sh ${CMAKE_CURRENT_SOURCE_DIR}/cephtool-test-mon.sh) -add_ceph_test(cephtool-test-osd.sh ${CMAKE_CURRENT_SOURCE_DIR}/cephtool-test-osd.sh) -add_ceph_test(cephtool-test-rados.sh ${CMAKE_CURRENT_SOURCE_DIR}/cephtool-test-rados.sh) if(WITH_RBD) add_ceph_test(run-rbd-unit-tests.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tests.sh) endif(WITH_RBD) diff --git a/src/test/cephtool-test-mds.sh b/src/test/cephtool-test-mds.sh deleted file mode 100755 index 13bba3188e5..00000000000 --- a/src/test/cephtool-test-mds.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2014, 2015 Red Hat -# Copyright (C) 2013 Cloudwatt -# -# Author: Loic Dachary -# -# 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 $(dirname $0)/detect-build-env-vars.sh - -CEPH_CLI_TEST_DUP_COMMAND=1 \ -MDS=1 MON=1 OSD=3 MGR=1 CEPH_PORT=7200 CEPH_OBJECTSTORE="bluestore" $CEPH_ROOT/src/test/vstart_wrapper.sh \ - $CEPH_ROOT/qa/workunits/cephtool/test.sh \ - --test-mds \ - --asok-does-not-need-root diff --git a/src/test/cephtool-test-mon.sh b/src/test/cephtool-test-mon.sh deleted file mode 100755 index 856e73f8908..00000000000 --- a/src/test/cephtool-test-mon.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2014, 2015 Red Hat -# Copyright (C) 2013 Cloudwatt -# -# Author: Loic Dachary -# -# 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 $(dirname $0)/detect-build-env-vars.sh - -CEPH_CLI_TEST_DUP_COMMAND=1 \ -# uses CEPH_PORT going from 7202 7203 and 7204 because -# it starts at 7202 and runs 3 mons (see vstart.sh) -MON=3 OSD=4 MDS=0 MGR=1 CEPH_PORT=7202 $CEPH_ROOT/src/test/vstart_wrapper.sh \ - $CEPH_ROOT/qa/workunits/cephtool/test.sh \ - --test-mon \ - --asok-does-not-need-root diff --git a/src/test/cephtool-test-osd.sh b/src/test/cephtool-test-osd.sh deleted file mode 100755 index 0dbb5d4d825..00000000000 --- a/src/test/cephtool-test-osd.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2014, 2015 Red Hat -# Copyright (C) 2013 Cloudwatt -# -# Author: Loic Dachary -# -# 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 $(dirname $0)/detect-build-env-vars.sh - -CEPH_CLI_TEST_DUP_COMMAND=1 \ -MON=1 OSD=3 MDS=0 MGR=1 CEPH_PORT=7201 $CEPH_ROOT/src/test/vstart_wrapper.sh \ - $CEPH_ROOT/qa/workunits/cephtool/test.sh \ - --test-osd \ - --asok-does-not-need-root diff --git a/src/test/cephtool-test-rados.sh b/src/test/cephtool-test-rados.sh deleted file mode 100755 index d3c90a11f94..00000000000 --- a/src/test/cephtool-test-rados.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2015 Red Hat -# -# Author: David Zafman -# -# 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 $(dirname $0)/detect-build-env-vars.sh - -CEPH_CLI_TEST_DUP_COMMAND=1 \ -MON=1 OSD=3 MDS=0 MGR=1 CEPH_PORT=7205 $CEPH_ROOT/src/test/vstart_wrapper.sh \ - $CEPH_ROOT/src/test/test_rados_tool.sh diff --git a/src/test/crush/CMakeLists.txt b/src/test/crush/CMakeLists.txt index 81f587fec26..e527daf817a 100644 --- a/src/test/crush/CMakeLists.txt +++ b/src/test/crush/CMakeLists.txt @@ -13,5 +13,3 @@ add_ceph_unittest(unittest_crush ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_crus target_link_libraries(unittest_crush global m ${BLKID_LIBRARIES}) add_ceph_test(crush_weights.sh ${CMAKE_CURRENT_SOURCE_DIR}/crush_weights.sh) -add_ceph_test(crush-classes.sh ${CMAKE_CURRENT_SOURCE_DIR}/crush-classes.sh) -add_ceph_test(crush-choose-args.sh ${CMAKE_CURRENT_SOURCE_DIR}/crush-choose-args.sh) diff --git a/src/test/crush/crush_weights.sh b/src/test/crush/crush_weights.sh index 52c0f20db32..6ae1900612d 100755 --- a/src/test/crush/crush_weights.sh +++ b/src/test/crush/crush_weights.sh @@ -1,7 +1,6 @@ #!/bin/bash source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh read -r -d '' cm <<'EOF' # devices diff --git a/src/test/encoding/check-generated.sh b/src/test/encoding/check-generated.sh index 1783cdbafcf..f94c1fd64da 100755 --- a/src/test/encoding/check-generated.sh +++ b/src/test/encoding/check-generated.sh @@ -1,7 +1,7 @@ #!/bin/bash -e source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh dir=$1 diff --git a/src/test/erasure-code/CMakeLists.txt b/src/test/erasure-code/CMakeLists.txt index 218e6908f95..dc4e0865d0a 100644 --- a/src/test/erasure-code/CMakeLists.txt +++ b/src/test/erasure-code/CMakeLists.txt @@ -1,7 +1,3 @@ -add_ceph_test(test-erasure-code-plugins.sh ${CMAKE_CURRENT_SOURCE_DIR}/test-erasure-code-plugins.sh) - -add_ceph_test(test-erasure-code.sh ${CMAKE_CURRENT_SOURCE_DIR}/test-erasure-code.sh) -add_ceph_test(test-erasure-eio.sh ${CMAKE_CURRENT_SOURCE_DIR}/test-erasure-eio.sh) add_executable(ceph_erasure_code_benchmark ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc diff --git a/src/test/libradosstriper/CMakeLists.txt b/src/test/libradosstriper/CMakeLists.txt index 4f7777fb6f9..b328acb31bd 100644 --- a/src/test/libradosstriper/CMakeLists.txt +++ b/src/test/libradosstriper/CMakeLists.txt @@ -13,8 +13,6 @@ set_target_properties(ceph_test_rados_striper_api_striping PROPERTIES COMPILE_FL install(TARGETS ceph_test_rados_striper_api_striping DESTINATION ${CMAKE_INSTALL_BINDIR}) -add_ceph_test(rados-striper.sh ${CMAKE_SOURCE_DIR}/src/test/libradosstriper/rados-striper.sh) - add_executable(ceph_test_rados_striper_api_io io.cc) target_link_libraries(ceph_test_rados_striper_api_io librados radosstriper diff --git a/src/test/mgr/mgr-dashboard-smoke.sh b/src/test/mgr/mgr-dashboard-smoke.sh index 5c52215beba..353c4d45a03 100755 --- a/src/test/mgr/mgr-dashboard-smoke.sh +++ b/src/test/mgr/mgr-dashboard-smoke.sh @@ -13,7 +13,7 @@ # GNU Library Public License for more details. # source $(dirname $0)/../detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/mon/CMakeLists.txt b/src/test/mon/CMakeLists.txt index 6aa126c95da..4bc5b1cca4a 100644 --- a/src/test/mon/CMakeLists.txt +++ b/src/test/mon/CMakeLists.txt @@ -20,19 +20,6 @@ target_link_libraries(ceph_test_mon_msg os osdc global ${UNITTEST_LIBS}) set_target_properties(ceph_test_mon_msg PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) -#scripts -add_ceph_test(misc.sh ${CMAKE_CURRENT_SOURCE_DIR}/misc.sh) -add_ceph_test(mkfs.sh ${CMAKE_CURRENT_SOURCE_DIR}/mkfs.sh) -add_ceph_test(mon-bind.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-bind.sh) -add_ceph_test(mon-created-time.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-created-time.sh) -add_ceph_test(mon-handle-forward.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-handle-forward.sh) -add_ceph_test(mon-ping.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-ping.sh) -add_ceph_test(mon-scrub.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-scrub.sh) -add_ceph_test(osd-crush.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-crush.sh) -add_ceph_test(osd-erasure-code-profile.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-erasure-code-profile.sh) -add_ceph_test(osd-pool-create.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-pool-create.sh) -add_ceph_test(test_pool_quota.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_pool_quota.sh) - # unittest_mon_moncap add_executable(unittest_mon_moncap moncap.cc diff --git a/src/test/mon/run_test.sh b/src/test/mon/run_test.sh deleted file mode 100755 index ef2f6d063ec..00000000000 --- a/src/test/mon/run_test.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/bash -# vim: ts=8 sw=2 smarttab -# -# $0.sh - run mon workload generator - -if [[ ! -e "./ceph_ver.h" ]]; then - echo "This script must be run from the repository's src/ directory" - exit 1 -fi - -usage() { - echo "usage: $1 [options..] " - echo - echo "options:" - echo " -v, --verbose Be more verbose" - echo " -c, --conf FILE ceph.conf location" - echo " -d, --duration SECS Run test for SECS seconds (default: 300)" - echo " --debug LEVEL Set the test's debug level (default: 0)" - echo " -n, --new Make a fresh run by creating a new cluster" - echo - echo "environment variables:" - echo " EXTRA_ARGS Pass additional ceph arguments to the test" - echo -} - -stop_ceph() { - if [[ ! -e "init-ceph" ]]; then - echo "could not find 'init-ceph'; killing only by hand and may bob have" - echo "mercy on our souls" - else - ./init-ceph stop - fi - - for i in mon osd mds; do - killall -9 ceph-$i - done -} - -start_mon() { - if [[ ! -e "init-ceph" ]]; then - echo "could not find 'init-ceph'; attempting to start monitors by hand" - - for i in a b c; do - ./ceph-mon -i $i -c ceph.conf -k keyring -d - done - else - ./init-ceph start mon - fi -} - -make_fresh() { - rm -fr dev/ out/ keyring - mkdir dev - - if [[ ! -e "vstart.sh" ]]; then - echo "could not find 'vstart.sh', which is weird; what have you done?" - exit 1 - fi - - env MON=3 OSD=0 MDS=0 MGR=0 \ - ./vstart.sh -n -l -d mon -} - -DEBUG=0 -TEST_CEPH_CONF= -DURATION= -LOADGEN_NUM_OSDS= -ARGS= - -[[ ! -z $EXTRA_ARGS ]] && ARGS="$EXTRA_ARGS" - -fresh_run=0 - -while [[ $# -gt 0 ]]; -do - case "$1" in - -v | --verbose) - VERBOSE=1 - shift - ;; - -c | --conf) - if [[ "$2" == "" ]]; then - echo "'$1' expects an argument; none was given" - exit 1 - fi - TEST_CEPH_CONF="$2" - shift 2 - ;; - --debug) - if [[ -z $2 ]]; then - echo "'$1' expects an argument; none was given" - exit 1 - fi - ARGS="$ARGS --debug-none $2" - shift 2 - ;; - -d | --duration) - if [[ -z $2 ]]; then - echo "'$1' expects an argument; none was given" - exit 1 - fi - DURATION=$2 - shift 2 - ;; - -n | --new) - fresh_run=1 - shift - ;; - --) - shift - break - ;; - -*) - echo "$1: unknown option" >&2 - usage $0 - exit 1 - ;; - *) - LOADGEN_NUM_OSDS=$1 - shift - break - ;; - esac -done - -if [[ -z $LOADGEN_NUM_OSDS ]]; then - echo "must specify the number of osds" - usage $0 - exit 1 -fi - -stop_ceph ; -[[ $fresh_run -eq 1 ]] && make_fresh ; -start_mon ; - -env VERBOSE=$VERBOSE TEST_CEPH_CONF="$TEST_CEPH_CONF" \ - DURATION=$DURATION EXTRA_ARGS="$ARGS" \ - LOADGEN_NUM_OSDS=$LOADGEN_NUM_OSDS \ - PATH="$PATH:`pwd`" ../qa/workunits/mon/workloadgen.sh diff --git a/src/test/osd/CMakeLists.txt b/src/test/osd/CMakeLists.txt index 6297e8a03a1..79281014526 100644 --- a/src/test/osd/CMakeLists.txt +++ b/src/test/osd/CMakeLists.txt @@ -17,20 +17,6 @@ install(TARGETS ceph_test_rados DESTINATION ${CMAKE_INSTALL_BINDIR}) -# scripts -add_ceph_test(osd-bench.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-bench.sh) -add_ceph_test(osd-config.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-config.sh) -add_ceph_test(osd-markdown.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-markdown.sh) -add_ceph_test(osd-reactivate.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-reactivate.sh) -add_ceph_test(osd-reuse-id.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-reuse-id.sh) -add_ceph_test(osd-scrub-repair.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-scrub-repair.sh) -add_ceph_test(osd-scrub-snaps.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-scrub-snaps.sh) -add_ceph_test(osd-copy-from.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-copy-from.sh) -add_ceph_test(osd-fast-mark-down.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-fast-mark-down.sh) -if(HAVE_LIBAIO) - add_ceph_test(osd-dup.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-dup.sh) -endif() - # unittest_osdmap add_executable(unittest_osdmap TestOSDMap.cc diff --git a/src/test/test_crush_bucket.sh b/src/test/test_crush_bucket.sh index ead183e213b..837fd0a54b2 100755 --- a/src/test/test_crush_bucket.sh +++ b/src/test/test_crush_bucket.sh @@ -6,7 +6,7 @@ # Includes source $(dirname $0)/detect-build-env-vars.sh -source ../qa/workunits/ceph-helpers.sh +source ../qa/standalone/ceph-helpers.sh function run() { local dir=$1 shift diff --git a/src/test/test_pidfile.sh b/src/test/test_pidfile.sh index 3fd003239be..b76fa9b64a6 100755 --- a/src/test/test_pidfile.sh +++ b/src/test/test_pidfile.sh @@ -6,7 +6,7 @@ # Includes source $(dirname $0)/detect-build-env-vars.sh -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/test_pool_create.sh b/src/test/test_pool_create.sh index 8f122192b24..613e205f813 100755 --- a/src/test/test_pool_create.sh +++ b/src/test/test_pool_create.sh @@ -5,7 +5,7 @@ # # Includes -source ../qa/workunits/ceph-helpers.sh +source ../qa/standalone/ceph-helpers.sh function run() { local dir=$1 diff --git a/src/test/vstart_wrapper.sh b/src/test/vstart_wrapper.sh index 9af1cf9b410..235a81fb467 100755 --- a/src/test/vstart_wrapper.sh +++ b/src/test/vstart_wrapper.sh @@ -16,7 +16,7 @@ # GNU Library Public License for more details. # -source $CEPH_ROOT/qa/workunits/ceph-helpers.sh +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh export CEPH_VSTART_WRAPPER=1 export CEPH_DIR="${TMPDIR:-$PWD}/td/t-$CEPH_PORT" -- 2.39.5