xref: /spdk/test/ocf/management/remove.sh (revision cc6920a4763d4b9a43aa40583c8397d8f14fa100)
1#!/usr/bin/env bash
2
3curdir=$(dirname $(readlink -f "${BASH_SOURCE[0]}"))
4rootdir=$(readlink -f $curdir/../../..)
5source $rootdir/test/common/autotest_common.sh
6
7rpc_py=$rootdir/scripts/rpc.py
8
9rm -f aio*
10truncate -s 128M aio0
11truncate -s 128M aio1
12
13jq . <<- JSON > "$curdir/config"
14	{
15	  "subsystems": [
16	    {
17	      "subsystem": "bdev",
18	      "config": [
19	        {
20	          "method": "bdev_aio_create",
21	          "params": {
22	            "name": "ai0",
23	            "block_size": 512,
24	            "filename": "./aio0"
25	          }
26	        },
27	        {
28	          "method": "bdev_aio_create",
29	          "params": {
30	            "name": "aio1",
31	            "block_size": 512,
32	            "filename": "./aio1"
33	          }
34	        },
35	        {
36	          "method": "bdev_wait_for_examine"
37	        }
38	      ]
39	    }
40	  ]
41	}
42JSON
43
44"$SPDK_BIN_DIR/iscsi_tgt" --json "$curdir/config" &
45spdk_pid=$!
46
47waitforlisten $spdk_pid
48
49# Create ocf on persistent storage
50
51$rpc_py bdev_ocf_create ocfWT wt aio0 aio1
52
53# Check that ocfWT was created properly
54
55$rpc_py bdev_ocf_get_bdevs | jq -r '.[] .name' | grep -qw ocfWT
56
57# Remove ocfWT, after delete via rpc ocf bdev should not load on next app start
58
59$rpc_py bdev_ocf_delete ocfWT
60
61# Check that ocfWT was deleted properly
62
63[[ -z $("$rpc_py" bdev_ocf_get_bdevs | jq -r '.[] | select(.name == "ocfWT") | .name') ]]
64
65trap - SIGINT SIGTERM EXIT
66
67killprocess $spdk_pid
68
69# Check for ocfWT was deleted permanently
70"$SPDK_BIN_DIR/iscsi_tgt" --json "$curdir/config" &
71spdk_pid=$!
72
73trap 'killprocess $spdk_pid; rm -f aio* $curdir/config ocf_bdevs ocf_bdevs_verify; exit 1' SIGINT SIGTERM EXIT
74
75waitforlisten $spdk_pid
76
77# Check that ocfWT was not loaded on app start
78
79[[ -z $("$rpc_py" bdev_ocf_get_bdevs | jq -r '.[] | select(name == "ocfWT") | .name') ]]
80
81trap - SIGINT SIGTERM EXIT
82
83killprocess $spdk_pid
84rm -f aio* $curdir/config ocf_bdevs ocf_bdevs_verify
85