Commit 9661d8db authored by Karol Latecki's avatar Karol Latecki Committed by Jim Harris
Browse files

spdkcli: add pmem pools & bdevs



Adding pmem related functionality.
Pmem pool listing in UI is not included. It may
be done in separate commit if need arises.

Change-Id: I93cc57f37b843faa721ec34721d350db9938ad91
Signed-off-by: default avatarKarol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/415741


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 59dee78b
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ class UIBdevs(UINode):
        UINullBdev(self)
        UIErrorBdev(self)
        UISplitBdev(self)
        UIPmemBdev(self)

    def ui_command_delete(self, name):
        """
@@ -345,6 +346,34 @@ class UISplitBdev(UIBdev):
        UIBdev.__init__(self, "Split_Disk", parent)


class UIPmemBdev(UIBdev):
    def __init__(self, parent):
        UIBdev.__init__(self, "pmemblk", parent)

    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)
        num_blocks = int((total_size * 1024 * 1024) / block_size)

        self.get_root().create_pmem_pool(pmem_file=pmem_file,
                                         num_blocks=num_blocks,
                                         block_size=block_size)

    def ui_command_delete_pmem_pool(self, pmem_file):
        self.get_root().delete_pmem_pool(pmem_file=pmem_file)

    def ui_command_info_pmem_pool(self, pmem_file):
        ret = self.get_root().delete_pmem_pool(pmem_file=pmem_file)
        self.shell.log.info(ret)

    def ui_command_create(self, pmem_file, name):
        ret_name = self.get_root().create_pmem_bdev(pmem_file=pmem_file,
                                                    name=name)
        self.shell.log.info(ret_name)
        self.get_root().refresh()
        self.refresh()


class UIBdevObj(UINode):
    def __init__(self, bdev, parent):
        self.bdev = bdev
+11 −0
Original line number Diff line number Diff line
@@ -93,6 +93,17 @@ class UIRoot(UINode):
    def delete_lvol_store(self, **kwargs):
        rpc.lvol.destroy_lvol_store(self.client, **kwargs)

    def create_pmem_pool(self, **kwargs):
        response = rpc.pmem.create_pmem_pool(self.client, **kwargs)
        return response

    def delete_pmem_pool(self, **kwargs):
        rpc.pmem.delete_pmem_pool(self.client, **kwargs)

    def create_pmem_bdev(self, **kwargs):
        response = rpc.bdev.construct_pmem_bdev(self.client, **kwargs)
        return response


class Bdev(object):
    def __init__(self, bdev_info):