From 52d1814caf9b405dbbb5854b0ed907d259c78e7e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 26 Jul 2017 16:26:43 -0400 Subject: [PATCH] test/smoke.sh: add simple ceph-helpers-based smoke test This is just enough during make check to know things aren't totally broken. Signed-off-by: Sage Weil --- src/test/CMakeLists.txt | 1 + src/test/smoke.sh | 63 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 src/test/smoke.sh diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 50c860dea8a1b..189438acfd772 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -563,6 +563,7 @@ add_ceph_test(run-cli-tests ${CMAKE_CURRENT_SOURCE_DIR}/run-cli-tests) add_ceph_test(test_objectstore_memstore.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_objectstore_memstore.sh) add_ceph_test(test_pidfile.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_pidfile.sh) add_ceph_test(test_subman.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_subman.sh) +add_ceph_test(smoke.sh ${CMAKE_CURRENT_SOURCE_DIR}/smoke.sh) add_ceph_test(unittest_bufferlist.sh ${CMAKE_SOURCE_DIR}/src/unittest_bufferlist.sh) add_test(NAME run-tox-ceph-disk COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-disk/run-tox.sh) diff --git a/src/test/smoke.sh b/src/test/smoke.sh new file mode 100755 index 0000000000000..297bbc7d67661 --- /dev/null +++ b/src/test/smoke.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +source $CEPH_ROOT/qa/standalone/ceph-helpers.sh + +function run() { + local dir=$1 + shift + + export CEPH_MON="127.0.0.1:7224" # git grep '\<7224\>' : there must be only one + export CEPH_ARGS + CEPH_ARGS+="--fsid=$(uuidgen) --auth-supported=none " + CEPH_ARGS+="--mon-host=$CEPH_MON " + set -e + + 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_minimal() { + local dir=$1 + + run_mon $dir a + run_mgr $dir x + run_osd $dir 0 + run_osd $dir 1 + run_osd $dir 2 + create_rbd_pool + wait_for_clean +} + +function TEST_multimon() { + local dir=$1 + + MONA="127.0.0.1:7224" # git grep '\<7224\>' : there must be only one + MONB="127.0.0.1:7225" # git grep '\<7225\>' : there must be only one + MONC="127.0.0.1:7226" # git grep '\<7226\>' : there must be only one + + run_mon $dir a --public-addr $MONA + run_mon $dir b --public-addr $MONB + run_mon $dir c --public_addr $MONC + run_mgr $dir x + run_mgr $dir y + run_osd $dir 0 + run_osd $dir 1 + run_osd $dir 2 + + ceph osd pool create foo 32 + ceph osd out 0 + wait_for_clean + + rados -p foo bench 4 write -b 4096 --no-cleanup + wait_for_clean + + ceph osd in 0 + flush_pg_stats + wait_for_clean +} + +main smoke "$@" -- 2.39.5