Commit c0427498 authored by Pawel Kaminski's avatar Pawel Kaminski Committed by Jim Harris
Browse files

test/spdkcli: Add possibility to delete all bdevs


              for subnodes (aio, error, logical_volume, etc)
              from bdev node

Change-Id: I346437da6cff6b0df6dc8a579da09e77bcddf610
Signed-off-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/430074


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent f6f1161f
Loading
Loading
Loading
Loading
+73 −37
Original line number Diff line number Diff line
@@ -130,6 +130,13 @@ class UIBdev(UINode):
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_delete_all(self):
        """Delete all bdevs from this tree node."""
        for bdev in self._children:
            self.delete(bdev.name)
        self.get_root().refresh()
        self.refresh()

    def summary(self):
        return "Bdevs: %d" % len(self.children), None

@@ -138,6 +145,12 @@ class UIMallocBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "malloc", parent)

    def delete(self, name):
        try:
            self.get_root().delete_malloc_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, size, block_size, name=None, uuid=None):
        """
        Construct a Malloc bdev.
@@ -172,10 +185,7 @@ class UIMallocBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the malloc bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().delete_malloc_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -184,6 +194,12 @@ class UIAIOBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "aio", parent)

    def delete(self, name):
        try:
            self.get_root().delete_aio_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, name, filename, block_size):
        """
        Construct an AIO bdev.
@@ -216,10 +232,7 @@ class UIAIOBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the aio bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().delete_aio_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -228,6 +241,12 @@ class UILvolBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "logical_volume", parent)

    def delete(self, name):
        try:
            self.get_root().destroy_lvol_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, name, size, lvs, thin_provision=None):
        """
        Construct a Logical Volume bdev.
@@ -270,10 +289,7 @@ class UILvolBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the lvol bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().destroy_lvol_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -282,6 +298,12 @@ class UINvmeBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "nvme", parent)

    def delete(self, name):
        try:
            self.get_root().delete_nvme_controller(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, name, trtype, traddr,
                          adrfam=None, trsvcid=None, subnqn=None):

@@ -307,10 +329,7 @@ class UINvmeBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the NVMe controller to be deleted.
        """
        try:
            self.get_root().delete_nvme_controller(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -319,6 +338,12 @@ class UINullBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "null", parent)

    def delete(self, name):
        try:
            self.get_root().delete_null_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, name, size, block_size, uuid=None):
        """
        Construct a Null bdev.
@@ -353,10 +378,7 @@ class UINullBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the null bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().delete_null_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -365,6 +387,12 @@ class UIErrorBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "error", parent)

    def delete(self, name):
        try:
            self.get_root().delete_error_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, base_name):
        """
        Construct a error injection bdev.
@@ -388,10 +416,7 @@ class UIErrorBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the error bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().delete_error_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -400,6 +425,9 @@ class UISplitBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "split_disk", parent)

    def delete(self, name):
        pass

    def ui_command_split_bdev(self, base_bdev, split_count, split_size_mb=None):
        """
        Construct split block devices from a base bdev.
@@ -444,6 +472,12 @@ class UIPmemBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "pmemblk", parent)

    def delete(self, name):
        try:
            self.get_root().delete_pmem_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create_pmem_pool(self, pmem_file, total_size, block_size):
        total_size = self.ui_eval_param(total_size, "number", None)
        block_size = self.ui_eval_param(block_size, "number", None)
@@ -487,10 +521,7 @@ class UIPmemBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the pmem bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().delete_pmem_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -499,6 +530,12 @@ class UIRbdBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "rbd", parent)

    def delete(self, name):
        try:
            self.get_root().delete_rbd_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, pool_name, rbd_name, block_size, name=None):
        block_size = self.ui_eval_param(block_size, "number", None)

@@ -521,10 +558,7 @@ class UIRbdBdev(UIBdev):
        Arguments:
        name - Is a unique identifier of the rbd bdev to be deleted - UUID number or name alias.
        """
        try:
            self.get_root().delete_rbd_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)
        self.delete(name)
        self.get_root().refresh()
        self.refresh()

@@ -533,6 +567,12 @@ class UIiSCSIBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "iscsi", parent)

    def delete(self, name):
        try:
            self.get_root().delete_iscsi_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, name, url, initiator_iqn):
        """
        Create iSCSI bdev in configuration by connecting to remote
@@ -562,11 +602,7 @@ class UIiSCSIBdev(UIBdev):
        Arguments:
        name - name of the iscsi bdev to be deleted.
        """
        try:
            self.get_root().delete_iscsi_bdev(name=name)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

        self.delete(name)
        self.get_root().refresh()
        self.refresh()

+3 −2
Original line number Diff line number Diff line
o- pmemblk .............................................................................................................. [Bdevs: 1]
  o- pmem_bdev ........................................................................................... [Size=31.6M, Not claimed]
o- pmemblk .............................................................................................................. [Bdevs: 2]
  o- pmem_bdev0 .......................................................................................... [Size=31.6M, Not claimed]
  o- pmem_bdev1 .......................................................................................... [Size=31.6M, Not claimed]
+2 −1
Original line number Diff line number Diff line
o- rbd .................................................................................................................. [Bdevs: 1]
o- rbd .................................................................................................................. [Bdevs: 2]
  o- Ceph0 ............................................................................................. [Size=1000.0M, Not claimed]
  o- Ceph1 ............................................................................................. [Size=1000.0M, Not claimed]
+14 −9
Original line number Diff line number Diff line
o- / ......................................................................................................................... [...]
  o- bdevs ................................................................................................................... [...]
  | o- aio .............................................................................................................. [Bdevs: 1]
  | | o- sample ........................................................................................... [Size=$(FP)M, Not claimed]
  | o- error ............................................................................................................ [Bdevs: 1]
  | o- aio .............................................................................................................. [Bdevs: 2]
  | | o- sample0 .......................................................................................... [Size=$(FP)M, Not claimed]
  | | o- sample1 .......................................................................................... [Size=$(FP)M, Not claimed]
  | o- error ............................................................................................................ [Bdevs: 2]
  | | o- EE_Malloc1 ...................................................................................... [Size=$(FP)M, Not claimed]
  | | o- EE_Malloc4 ...................................................................................... [Size=$(FP)M, Not claimed]
  | o- iscsi ............................................................................................................ [Bdevs: 0]
  | o- logical_volume ................................................................................................... [Bdevs: 1]
  | | o- $(X)-$(X)-$(X)-$(X)-$(X) .................................................. [lvs/lvol, Size=$(FP)M, Not claimed]
  | o- malloc ........................................................................................................... [Bdevs: 4]
  | o- logical_volume ................................................................................................... [Bdevs: 2]
  | | o- $(X)-$(X)-$(X)-$(X)-$(X) ................................................. [lvs/lvol$(FP), Size=$(FP)M, Not claimed]
  | | o- $(X)-$(X)-$(X)-$(X)-$(X) ................................................. [lvs/lvol$(FP), Size=$(FP)M, Not claimed]
  | o- malloc ........................................................................................................... [Bdevs: 5]
  | | o- Malloc0 ............................................................................................. [Size=$(FP)M, Claimed]
  | | o- Malloc1 ............................................................................................. [Size=$(FP)M, Claimed]
  | | o- Malloc2 ......................................................................................... [Size=$(FP)M, Not claimed]
  | | o- Malloc3 ......................................................................................... [Size=$(FP)M, Not claimed]
  | o- null ............................................................................................................. [Bdevs: 1]
  | | o- null_bdev ....................................................................................... [Size=$(FP)M, Not claimed]
  | | o- Malloc4 ............................................................................................. [Size=$(FP)M, Claimed]
  | o- null ............................................................................................................. [Bdevs: 2]
  | | o- null_bdev0 ...................................................................................... [Size=$(FP)M, Not claimed]
  | | o- null_bdev1 ...................................................................................... [Size=$(FP)M, Not claimed]
  | o- nvme ............................................................................................................. [Bdevs: 1]
  | | o- Nvme0n1 $(S) [Size=$(FP)G, Claimed]
  | o- pmemblk .......................................................................................................... [Bdevs: 0]
@@ -50,7 +55,7 @@ o- / ...........................................................................
  | o- portal_groups ............................................................................................ [Portal groups: 0]
  | o- target_nodes .............................................................................................. [Target nodes: 0]
  o- lvol_stores .................................................................................................. [Lvol stores: 1]
  | o- lvs ................................................................................................ [Size=$(FP)M, Free=$(FP)M]
  | o- lvs ................................................................................................. [Size=$(FP)M, Free=$(FP)M]
  o- nvmf .................................................................................................................... [...]
  | o- subsystem ................................................................................................... [Subsystems: 1]
  | | o- nqn.2014-08.org.nvmexpress.discovery ....................................................... [st=Discovery, Allow any host]
+8 −4
Original line number Diff line number Diff line
@@ -14,8 +14,10 @@ run_spdk_tgt
timing_exit run_spdk_tgt

timing_enter spdkcli_create_pmem_config
$spdkcli_job "/bdevs/pmemblk create_pmem_pool /tmp/sample_pmem 32 512" "" True
$spdkcli_job "/bdevs/pmemblk create /tmp/sample_pmem pmem_bdev" "pmem_bdev" True
$spdkcli_job "/bdevs/pmemblk create_pmem_pool /tmp/sample_pmem0 32 512" "" True
$spdkcli_job "/bdevs/pmemblk create /tmp/sample_pmem0 pmem_bdev0" "pmem_bdev0" True
$spdkcli_job "/bdevs/pmemblk create_pmem_pool /tmp/sample_pmem1 32 512" "" True
$spdkcli_job "/bdevs/pmemblk create /tmp/sample_pmem1 pmem_bdev1" "pmem_bdev1" True
timing_exit spdkcli_create_pmem_config

timing_enter spdkcli_check_match
@@ -23,8 +25,10 @@ check_match
timing_exit spdkcli_check_match

timing_enter spdkcli_clear_pmem_config
$spdkcli_job "/bdevs/pmemblk delete pmem_bdev" "pmem_bdev"
$spdkcli_job "/bdevs/pmemblk delete_pmem_pool /tmp/sample_pmem" ""
$spdkcli_job "/bdevs/pmemblk delete pmem_bdev0" "pmem_bdev0"
$spdkcli_job "/bdevs/pmemblk delete_pmem_pool /tmp/sample_pmem0" ""
$spdkcli_job "/bdevs/pmemblk delete_all" "pmem_bdev1"
$spdkcli_job "/bdevs/pmemblk delete_pmem_pool /tmp/sample_pmem1" ""
rm -f /tmp/sample_pmem
timing_exit spdkcli_clear_pmem_config

Loading