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: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/415741
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Karol Latecki 2018-06-18 14:41:55 +02:00 committed by Jim Harris
parent 59dee78bd6
commit 9661d8dbd9
2 changed files with 40 additions and 0 deletions

View File

@ -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

View File

@ -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):