summaryrefslogtreecommitdiffstats
path: root/src/test/run-rbd-tests
blob: 14bd24de8d901e32798917c34ef3543a6502408f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env bash
set -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:$CYTHON_MODULES_DIR/lib.3"

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
    rbd pool init $POOL_NAME
}

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
    recreate_pool rbd
    $CEPH_SRC/../qa/workunits/rbd/luks-encryption.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
    python3 -m nose -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