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