#!/bin/bash -ex # this should be run from the src directory in the ceph.git source $(dirname $0)/detect-build-env-vars.sh CEPH_SRC=$CEPH_ROOT/src if [ -e CMakeCache.txt ]; then CYTHON_MODULES_DIR=$CEPH_LIB/cython_modules else CYTHON_MODULES_DIR=$CEPH_SRC/build fi export PYTHONPATH="$CEPH_SRC/pybind:$CEPH_SRC/test/pybind" for x in $CYTHON_MODULES_DIR/lib* ; do PYTHONPATH="${PYTHONPATH}:${x}" done recreate_pool() { POOL_NAME=$1 PG_NUM=100 ceph osd pool delete $POOL_NAME $POOL_NAME --yes-i-really-really-mean-it ceph osd pool create $POOL_NAME $PG_NUM } run_cli_tests() { recreate_pool rbd $CEPH_SRC/../qa/workunits/rbd/import_export.sh recreate_pool rbd $CEPH_SRC/../qa/workunits/rbd/cli_generic.sh recreate_pool rbd $CEPH_SRC/../qa/workunits/rbd/journal.sh } # tests that do not depend on image format / features run_generic_tests() { $CEPH_SRC/../qa/workunits/rbd/verify_pool.sh recreate_pool rbd $CEPH_SRC/../qa/workunits/rbd/journal.sh recreate_pool rbd $CEPH_SRC/../qa/workunits/rbd/test_admin_socket.sh } run_api_tests() { # skip many_snaps since it takes several minutes nosetests -v test_rbd -e '.*many_snaps' # ceph_test_librbd creates its own pools ceph_test_librbd } ceph_test_cls_rbd run_generic_tests run_api_tests run_cli_tests export RBD_CREATE_ARGS="--image-format 2" run_cli_tests for i in 0 1 61 109 do export RBD_FEATURES=$i run_api_tests done echo OK