]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/test/ocf/management/multicore.sh
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / test / ocf / management / multicore.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
9spdk_pid='?'
f67539c2
TL
10function start_spdk() {
11 $SPDK_BIN_DIR/iscsi_tgt &
9f95a23c 12 spdk_pid=$!
f67539c2 13 trap 'killprocess $spdk_pid; exit 1' SIGINT SIGTERM EXIT
9f95a23c
TL
14 waitforlisten $spdk_pid
15}
f67539c2 16function stop_spdk() {
9f95a23c
TL
17 killprocess $spdk_pid
18 trap - SIGINT SIGTERM EXIT
19}
20
21start_spdk
22
23# Hotplug case
24
f67539c2
TL
25$rpc_py bdev_malloc_create 1 512 -b Core0
26$rpc_py bdev_malloc_create 1 512 -b Core1
9f95a23c 27
f67539c2
TL
28$rpc_py bdev_ocf_create C1 wt Cache Core0
29$rpc_py bdev_ocf_create C2 wt Cache Core1
9f95a23c 30
f67539c2 31$rpc_py bdev_ocf_get_bdevs | jq -e \
9f95a23c
TL
32 'any(select(.started)) == false'
33
f67539c2 34$rpc_py bdev_malloc_create 101 512 -b Cache
9f95a23c 35
f67539c2 36$rpc_py bdev_ocf_get_bdevs | jq -e \
9f95a23c
TL
37 'all(select(.started)) == true'
38
f67539c2
TL
39#Be sure that we will not fail delete because examine is still in progress
40waitforbdev C2
41
9f95a23c
TL
42# Detaching cores
43
f67539c2 44$rpc_py bdev_ocf_delete C2
9f95a23c 45
f67539c2 46$rpc_py bdev_ocf_get_bdevs C1 | jq -e \
9f95a23c
TL
47 '.[0] | .started'
48
f67539c2 49$rpc_py bdev_ocf_create C2 wt Cache Core1
9f95a23c 50
f67539c2 51$rpc_py bdev_ocf_get_bdevs C2 | jq -e \
9f95a23c
TL
52 '.[0] | .started'
53
54# Normal shutdown
55
56stop_spdk
57
58# Hotremove case
59start_spdk
60
f67539c2
TL
61$rpc_py bdev_malloc_create 101 512 -b Cache
62$rpc_py bdev_malloc_create 101 512 -b Malloc
63$rpc_py bdev_malloc_create 1 512 -b Core
9f95a23c 64
f67539c2
TL
65$rpc_py bdev_ocf_create C1 wt Cache Malloc
66$rpc_py bdev_ocf_create C2 wt Cache Core
9f95a23c 67
f67539c2 68$rpc_py bdev_ocf_get_bdevs Cache | jq \
9f95a23c
TL
69 'length == 2'
70
f67539c2 71$rpc_py bdev_malloc_delete Cache
9f95a23c 72
f67539c2 73$rpc_py bdev_ocf_get_bdevs | jq -e \
9f95a23c
TL
74 '. == []'
75
76# Not fully initialized shutdown
77
f67539c2
TL
78$rpc_py bdev_ocf_create C1 wt Malloc NonExisting
79$rpc_py bdev_ocf_create C2 wt Malloc NonExisting
80$rpc_py bdev_ocf_create C3 wt Malloc Core
9f95a23c
TL
81
82stop_spdk