]> git.proxmox.com Git - ceph.git/blob - ceph/qa/workunits/cephtool/test_kvstore_tool.sh
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / qa / workunits / cephtool / test_kvstore_tool.sh
1 #!/usr/bin/env bash
2
3 set -x
4
5 source $(dirname $0)/../../standalone/ceph-helpers.sh
6
7 set -e
8 set -o functrace
9 PS4='${BASH_SOURCE[0]}:$LINENO: ${FUNCNAME[0]}: '
10 SUDO=${SUDO:-sudo}
11 export CEPH_DEV=1
12
13 echo note: test ceph_kvstore_tool with bluestore
14
15 expect_false()
16 {
17 set -x
18 if "$@"; then return 1; else return 0; fi
19 }
20
21 TEMP_DIR=$(mktemp -d ./cephtool.XXX)
22 trap "rm -fr $TEMP_DIR" 0
23
24 TEMP_FILE=$(mktemp $TEMP_DIR/test_invalid.XXX)
25
26 function test_ceph_kvstore_tool()
27 {
28 # create a data directory
29 ceph-objectstore-tool --data-path ${TEMP_DIR} --op mkfs --no-mon-config
30
31 # list
32 origin_kv_nums=`ceph-kvstore-tool bluestore-kv ${TEMP_DIR} list 2>/dev/null | wc -l`
33
34 # exists
35 prefix=`ceph-kvstore-tool bluestore-kv ${TEMP_DIR} list 2>/dev/null | head -n 1 | awk '{print $1}'`
36 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} exists ${prefix}
37 expect_false ceph-kvstore-tool bluestore-kv ${TEMP_DIR} exists ${prefix}notexist
38
39 # list-crc
40 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} list-crc
41 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} list-crc ${prefix}
42
43 # list with prefix
44 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} list ${prefix}
45
46 # set
47 echo "helloworld" >> ${TEMP_FILE}
48 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} set TESTPREFIX TESTKEY in ${TEMP_FILE}
49 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} exists TESTPREFIX TESTKEY
50
51 # get
52 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} get TESTPREFIX TESTKEY out ${TEMP_FILE}.bak
53 diff ${TEMP_FILE} ${TEMP_FILE}.bak
54
55 # rm
56 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} rm TESTPREFIX TESTKEY
57 expect_false ceph-kvstore-tool bluestore-kv ${TEMP_DIR} exists TESTPREFIX TESTKEY
58
59 # compact
60 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} compact
61
62 # destructive-repair
63 ceph-kvstore-tool bluestore-kv ${TEMP_DIR} destructive-repair
64
65 current_kv_nums=`ceph-kvstore-tool bluestore-kv ${TEMP_DIR} list 2>/dev/null | wc -l`
66 test ${origin_kv_nums} -eq ${current_kv_nums}
67 }
68
69 test_ceph_kvstore_tool
70
71 echo OK