]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/test/ocf/management/create-destruct.sh
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / test / ocf / management / create-destruct.sh
CommitLineData
9f95a23c
TL
1#!/usr/bin/env bash
2
f67539c2 3curdir=$(dirname $(readlink -f "${BASH_SOURCE[0]}"))
9f95a23c
TL
4rootdir=$(readlink -f $curdir/../../..)
5source $rootdir/test/common/autotest_common.sh
6
7rpc_py=$rootdir/scripts/rpc.py
8
f67539c2
TL
9function bdev_check_claimed() {
10 if [ "$($rpc_py get_bdevs -b "$@" | jq '.[0].claimed')" = "true" ]; then
11 return 0
12 else
13 return 1
14 fi
9f95a23c
TL
15}
16
f67539c2 17$SPDK_BIN_DIR/iscsi_tgt &
9f95a23c
TL
18spdk_pid=$!
19
f67539c2 20trap 'killprocess $spdk_pid; exit 1' SIGINT SIGTERM EXIT
9f95a23c
TL
21
22waitforlisten $spdk_pid
23
f67539c2
TL
24$rpc_py bdev_malloc_create 101 512 -b Malloc0
25$rpc_py bdev_malloc_create 101 512 -b Malloc1
9f95a23c 26
f67539c2 27$rpc_py bdev_ocf_create PartCache wt Malloc0 NonExisting
9f95a23c 28
f67539c2 29$rpc_py bdev_ocf_get_bdevs PartCache | jq -e \
9f95a23c
TL
30 '.[0] | .started == false and .cache.attached and .core.attached == false'
31
f67539c2 32$rpc_py bdev_ocf_get_bdevs NonExisting | jq -e \
9f95a23c
TL
33 '.[0] | .name == "PartCache"'
34
35if ! bdev_check_claimed Malloc0; then
f67539c2 36 echo >&2 "Base device expected to be claimed now"
9f95a23c
TL
37 exit 1
38fi
39
f67539c2 40$rpc_py bdev_ocf_delete PartCache
9f95a23c 41if bdev_check_claimed Malloc0; then
f67539c2 42 echo >&2 "Base device is not expected to be claimed now"
9f95a23c
TL
43 exit 1
44fi
45
f67539c2 46$rpc_py bdev_ocf_create FullCache wt Malloc0 Malloc1
9f95a23c 47
f67539c2 48$rpc_py bdev_ocf_get_bdevs FullCache | jq -e \
9f95a23c
TL
49 '.[0] | .started and .cache.attached and .core.attached'
50
51if ! (bdev_check_claimed Malloc0 && bdev_check_claimed Malloc1); then
f67539c2 52 echo >&2 "Base devices expected to be claimed now"
9f95a23c
TL
53 exit 1
54fi
55
f67539c2 56$rpc_py bdev_ocf_delete FullCache
9f95a23c 57if bdev_check_claimed Malloc0 && bdev_check_claimed Malloc1; then
f67539c2 58 echo >&2 "Base devices are not expected to be claimed now"
9f95a23c
TL
59 exit 1
60fi
61
f67539c2 62$rpc_py bdev_ocf_create HotCache wt Malloc0 Malloc1
9f95a23c
TL
63
64if ! (bdev_check_claimed Malloc0 && bdev_check_claimed Malloc1); then
f67539c2 65 echo >&2 "Base devices expected to be claimed now"
9f95a23c
TL
66 exit 1
67fi
68
f67539c2 69$rpc_py bdev_malloc_delete Malloc0
9f95a23c
TL
70
71if bdev_check_claimed Malloc1; then
f67539c2 72 echo >&2 "Base device is not expected to be claimed now"
9f95a23c
TL
73 exit 1
74fi
75
76status=$($rpc_py get_bdevs)
77gone=$(echo $status | jq 'map(select(.name == "HotCache")) == []')
78if [[ $gone == false ]]; then
f67539c2 79 echo >&2 "OCF bdev is expected to unregister"
9f95a23c
TL
80 exit 1
81fi
82
83# check if shutdown of running CAS bdev is ok
f67539c2 84$rpc_py bdev_ocf_create PartCache wt NonExisting Malloc1
9f95a23c
TL
85
86trap - SIGINT SIGTERM EXIT
87
88killprocess $spdk_pid