xref: /spdk/test/ocf/management/remove.sh (revision b24df7cfa6a591fc1d7a3c57b67cf80011ff3605)
11ee119eaSMarcin Dziegielewski#!/usr/bin/env bash
2eb53c232Spaul luse#  SPDX-License-Identifier: BSD-3-Clause
3eb53c232Spaul luse#  Copyright (C) 2019 Intel Corporation
4eb53c232Spaul luse#  All rights reserved.
5eb53c232Spaul luse#
625f601cfSMaciej Wawrykcurdir=$(dirname $(readlink -f "${BASH_SOURCE[0]}"))
71ee119eaSMarcin Dziegielewskirootdir=$(readlink -f $curdir/../../..)
81ee119eaSMarcin Dziegielewskisource $rootdir/test/common/autotest_common.sh
91ee119eaSMarcin Dziegielewski
101ee119eaSMarcin Dziegielewskirpc_py=$rootdir/scripts/rpc.py
111ee119eaSMarcin Dziegielewski
121ee119eaSMarcin Dziegielewskirm -f aio*
131ee119eaSMarcin Dziegielewskitruncate -s 128M aio0
141ee119eaSMarcin Dziegielewskitruncate -s 128M aio1
151ee119eaSMarcin Dziegielewski
167a0274fcSMichal Bergerjq . <<- JSON > "$curdir/config"
177a0274fcSMichal Berger	{
187a0274fcSMichal Berger	  "subsystems": [
197a0274fcSMichal Berger	    {
207a0274fcSMichal Berger	      "subsystem": "bdev",
217a0274fcSMichal Berger	      "config": [
227a0274fcSMichal Berger	        {
237a0274fcSMichal Berger	          "method": "bdev_aio_create",
247a0274fcSMichal Berger	          "params": {
257a0274fcSMichal Berger	            "name": "ai0",
267a0274fcSMichal Berger	            "block_size": 512,
277a0274fcSMichal Berger	            "filename": "./aio0"
287a0274fcSMichal Berger	          }
297a0274fcSMichal Berger	        },
307a0274fcSMichal Berger	        {
317a0274fcSMichal Berger	          "method": "bdev_aio_create",
327a0274fcSMichal Berger	          "params": {
337a0274fcSMichal Berger	            "name": "aio1",
347a0274fcSMichal Berger	            "block_size": 512,
357a0274fcSMichal Berger	            "filename": "./aio1"
367a0274fcSMichal Berger	          }
371c9125e7STomasz Zawadzki	        },
381c9125e7STomasz Zawadzki	        {
391c9125e7STomasz Zawadzki	          "method": "bdev_wait_for_examine"
407a0274fcSMichal Berger	        }
417a0274fcSMichal Berger	      ]
427a0274fcSMichal Berger	    }
437a0274fcSMichal Berger	  ]
447a0274fcSMichal Berger	}
457a0274fcSMichal BergerJSON
461ee119eaSMarcin Dziegielewski
476b9b448eSBen Walker"$SPDK_BIN_DIR/iscsi_tgt" --json "$curdir/config" &
481ee119eaSMarcin Dziegielewskispdk_pid=$!
491ee119eaSMarcin Dziegielewski
501ee119eaSMarcin Dziegielewskiwaitforlisten $spdk_pid
511ee119eaSMarcin Dziegielewski
521ee119eaSMarcin Dziegielewski# Create ocf on persistent storage
531ee119eaSMarcin Dziegielewski
541ee119eaSMarcin Dziegielewski$rpc_py bdev_ocf_create ocfWT wt aio0 aio1
551ee119eaSMarcin Dziegielewski
561ee119eaSMarcin Dziegielewski# Check that ocfWT was created properly
571ee119eaSMarcin Dziegielewski
581ee119eaSMarcin Dziegielewski$rpc_py bdev_ocf_get_bdevs | jq -r '.[] .name' | grep -qw ocfWT
591ee119eaSMarcin Dziegielewski
601ee119eaSMarcin Dziegielewski# Remove ocfWT, after delete via rpc ocf bdev should not load on next app start
611ee119eaSMarcin Dziegielewski
621ee119eaSMarcin Dziegielewski$rpc_py bdev_ocf_delete ocfWT
631ee119eaSMarcin Dziegielewski
641ee119eaSMarcin Dziegielewski# Check that ocfWT was deleted properly
651ee119eaSMarcin Dziegielewski
66742f04b3SMichal Berger[[ -z $("$rpc_py" bdev_ocf_get_bdevs | jq -r '.[] | select(.name == "ocfWT") | .name') ]]
671ee119eaSMarcin Dziegielewski
681ee119eaSMarcin Dziegielewskitrap - SIGINT SIGTERM EXIT
691ee119eaSMarcin Dziegielewski
701ee119eaSMarcin Dziegielewskikillprocess $spdk_pid
711ee119eaSMarcin Dziegielewski
721ee119eaSMarcin Dziegielewski# Check for ocfWT was deleted permanently
736b9b448eSBen Walker"$SPDK_BIN_DIR/iscsi_tgt" --json "$curdir/config" &
741ee119eaSMarcin Dziegielewskispdk_pid=$!
751ee119eaSMarcin Dziegielewski
761ee119eaSMarcin Dziegielewskitrap 'killprocess $spdk_pid; rm -f aio* $curdir/config ocf_bdevs ocf_bdevs_verify; exit 1' SIGINT SIGTERM EXIT
771ee119eaSMarcin Dziegielewski
781ee119eaSMarcin Dziegielewskiwaitforlisten $spdk_pid
791ee119eaSMarcin Dziegielewski
801ee119eaSMarcin Dziegielewski# Check that ocfWT was not loaded on app start
811ee119eaSMarcin Dziegielewski
82*b24df7cfSMichal Berger(($("$rpc_py" bdev_ocf_get_bdevs | jq 'length') == 0))
831ee119eaSMarcin Dziegielewski
841ee119eaSMarcin Dziegielewskitrap - SIGINT SIGTERM EXIT
851ee119eaSMarcin Dziegielewski
861ee119eaSMarcin Dziegielewskikillprocess $spdk_pid
871ee119eaSMarcin Dziegielewskirm -f aio* $curdir/config ocf_bdevs ocf_bdevs_verify
88