diff --git a/scripts/spdkcli/ui_node.py b/scripts/spdkcli/ui_node.py index a81d6c7f6..e5ad7b070 100644 --- a/scripts/spdkcli/ui_node.py +++ b/scripts/spdkcli/ui_node.py @@ -53,6 +53,7 @@ class UIBdevs(UINode): UILvolBdev(self) UINvmeBdev(self) UINullBdev(self) + UIErrorBdev(self) UISplitBdev(self) def ui_command_delete(self, name): @@ -311,6 +312,23 @@ class UINullBdev(UIBdev): self.refresh() +class UIErrorBdev(UIBdev): + def __init__(self, parent): + UIBdev.__init__(self, "Error", parent) + + def ui_command_create(self, base_name): + """ + Construct a error injection bdev. + + Arguments: + base_name - base bdev name on top of which error bdev will be created. + """ + + self.get_root().create_error_bdev(base_name=base_name) + self.get_root().refresh() + self.refresh() + + class UISplitBdev(UIBdev): def __init__(self, parent): UIBdev.__init__(self, "Split_Disk", parent) diff --git a/scripts/spdkcli/ui_root.py b/scripts/spdkcli/ui_root.py index 564af452b..4c8dab672 100644 --- a/scripts/spdkcli/ui_root.py +++ b/scripts/spdkcli/ui_root.py @@ -69,6 +69,9 @@ class UIRoot(UINode): response = rpc.bdev.construct_null_bdev(self.client, **kwargs) return self.print_array(response) + def create_error_bdev(self, **kwargs): + response = rpc.bdev.construct_error_bdev(self.client, **kwargs) + def get_lvol_stores(self): self.current_lvol_stores = rpc.lvol.get_lvol_stores(self.client) for lvs in self.current_lvol_stores: