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

test/spdkcli: Delete multiple subnodes from iscsi node



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


Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 814a2dd9
Loading
Loading
Loading
Loading
+74 −32
Original line number Original line Diff line number Diff line
@@ -70,6 +70,12 @@ class UIISCSIDevices(UINode):
                        == device.device_name:
                        == device.device_name:
                    UIISCSIDevice(device, node, self)
                    UIISCSIDevice(device, node, self)


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

    def ui_command_create(self, name, alias_name, bdev_name_id_pairs,
    def ui_command_create(self, name, alias_name, bdev_name_id_pairs,
                          pg_ig_mappings, queue_depth, g=None, d=None, r=None,
                          pg_ig_mappings, queue_depth, g=None, d=None, r=None,
                          m=None, h=None, t=None):
                          m=None, h=None, t=None):
@@ -124,18 +130,13 @@ class UIISCSIDevices(UINode):
        Arguments:
        Arguments:
           name - Target node name.
           name - Target node name.
        """
        """
        if name is None:
        self.delete(name)
            for device in self.devices:
        self.refresh()
                try:

                    self.get_root().delete_target_node(
    def ui_command_delete_all(self):
                        target_node_name=device.device_name)
        """Delete all target nodes"""
                except JSONRPCException as e:
        for device in self.scsi_devices:
                    self.shell.log.error(e.message)
            self.delete(device.device_name)
        else:
            try:
                self.get_root().delete_target_node(target_node_name=name)
            except JSONRPCException as e:
                self.shell.log.error(e.message)
        self.refresh()
        self.refresh()


    def ui_command_add_lun(self, name, bdev_name, lun_id=None):
    def ui_command_add_lun(self, name, bdev_name, lun_id=None):
@@ -310,6 +311,12 @@ class UIPortalGroups(UINode):
        UINode.__init__(self, "portal_groups", parent)
        UINode.__init__(self, "portal_groups", parent)
        self.refresh()
        self.refresh()


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

    def ui_command_create(self, tag, portal_list):
    def ui_command_create(self, tag, portal_list):
        """Add a portal group.
        """Add a portal group.


@@ -318,7 +325,6 @@ class UIPortalGroups(UINode):
           tag: Portal group tag (unique, integer > 0)
           tag: Portal group tag (unique, integer > 0)
        """
        """
        portals = []
        portals = []
        print("portal_list: %s" % portal_list)
        for portal in portal_list.strip().split(" "):
        for portal in portal_list.strip().split(" "):
            host = portal
            host = portal
            cpumask = None
            cpumask = None
@@ -339,11 +345,13 @@ class UIPortalGroups(UINode):
    def ui_command_delete(self, tag):
    def ui_command_delete(self, tag):
        """Delete a portal group with given tag (unique, integer > 0))"""
        """Delete a portal group with given tag (unique, integer > 0))"""
        tag = self.ui_eval_param(tag, "number", None)
        tag = self.ui_eval_param(tag, "number", None)
        try:
        self.delete(tag)
            self.get_root().delete_portal_group(tag=tag)
        self.refresh()
        except JSONRPCException as e:
            self.shell.log.error(e.message)


    def ui_command_delete_all(self):
        """Delete all portal groups"""
        for pg in self.pgs:
            self.delete(pg.tag)
        self.refresh()
        self.refresh()


    def refresh(self):
    def refresh(self):
@@ -383,6 +391,12 @@ class UIInitiatorGroups(UINode):
        UINode.__init__(self, "initiator_groups", parent)
        UINode.__init__(self, "initiator_groups", parent)
        self.refresh()
        self.refresh()


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

    def ui_command_create(self, tag, initiator_list, netmask_list):
    def ui_command_create(self, tag, initiator_list, netmask_list):
        """Add an initiator group.
        """Add an initiator group.


@@ -410,11 +424,13 @@ class UIInitiatorGroups(UINode):
           tag: Initiator group tag (unique, integer > 0)
           tag: Initiator group tag (unique, integer > 0)
        """
        """
        tag = self.ui_eval_param(tag, "number", None)
        tag = self.ui_eval_param(tag, "number", None)
        try:
        self.delete(tag)
            self.get_root().delete_initiator_group(tag=tag)
        self.refresh()
        except JSONRPCException as e:
            self.shell.log.error(e.message)


    def ui_command_delete_all(self):
        """Delete all initiator groups"""
        for ig in self.igs:
            self.delete(ig.tag)
        self.refresh()
        self.refresh()


    def ui_command_add_initiator(self, tag, initiators, netmasks):
    def ui_command_add_initiator(self, tag, initiators, netmasks):
@@ -538,6 +554,19 @@ class UIISCSIAuthGroups(UINode):
        for ag in self.iscsi_auth_groups:
        for ag in self.iscsi_auth_groups:
            UIISCSIAuthGroup(ag, self)
            UIISCSIAuthGroup(ag, self)


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

    def delete_secret(self, tag, user):
        try:
            self.get_root().delete_secret_from_iscsi_auth_group(
                tag=tag, user=user)
        except JSONRPCException as e:
            self.shell.log.error(e.message)

    def ui_command_create(self, tag, secrets=None):
    def ui_command_create(self, tag, secrets=None):
        """Add authentication group for CHAP authentication.
        """Add authentication group for CHAP authentication.


@@ -565,11 +594,13 @@ class UIISCSIAuthGroups(UINode):
           tag: Authentication group tag (unique, integer > 0)
           tag: Authentication group tag (unique, integer > 0)
        """
        """
        tag = self.ui_eval_param(tag, "number", None)
        tag = self.ui_eval_param(tag, "number", None)
        try:
        self.delete(tag)
            self.get_root().delete_iscsi_auth_group(tag=tag)
        self.refresh()
        except JSONRPCException as e:
            self.shell.log.error(e.message)


    def ui_command_delete_all(self):
        """Delete all authentication groups."""
        for iscsi_auth_group in self.iscsi_auth_groups:
            self.delete(iscsi_auth_group['tag'])
        self.refresh()
        self.refresh()


    def ui_command_add_secret(self, tag, user, secret,
    def ui_command_add_secret(self, tag, user, secret,
@@ -601,11 +632,20 @@ class UIISCSIAuthGroups(UINode):
           user: User name for one-way CHAP authentication
           user: User name for one-way CHAP authentication
        """
        """
        tag = self.ui_eval_param(tag, "number", None)
        tag = self.ui_eval_param(tag, "number", None)
        try:
        self.delete_secret(tag, user)
            self.get_root().delete_secret_from_iscsi_auth_group(
        self.refresh()
                tag=tag, user=user)

        except JSONRPCException as e:
    def ui_command_delete_secret_all(self, tag):
            self.shell.log.error(e.message)
        """Delete all secrets from an authentication group.

        Args:
           tag: Authentication group tag (unique, integer > 0)
        """
        tag = self.ui_eval_param(tag, "number", None)
        for ag in self.iscsi_auth_groups:
            if ag['tag'] == tag:
                for secret in ag['secrets']:
                    self.delete_secret(tag, secret['user'])
        self.refresh()
        self.refresh()


    def summary(self):
    def summary(self):
@@ -629,8 +669,10 @@ class UIISCSIAuthGroup(UINode):


class UISCSIAuthSecret(UINode):
class UISCSIAuthSecret(UINode):
    def __init__(self, secret, parent):
    def __init__(self, secret, parent):
        info = ", ".join("%s=%s" % (key, val)
        info_list = ["%s=%s" % (key, val)
                         for key, val in secret.items())
                     for key, val in secret.items()]
        info_list.sort(reverse=True)
        info = ", ".join(info_list)
        UINode.__init__(self, info, parent)
        UINode.__init__(self, info, parent)
        self.secret = secret
        self.secret = secret
        self.refresh()
        self.refresh()
+9 −4
Original line number Original line Diff line number Diff line
@@ -28,9 +28,10 @@ $spdkcli_job "/iscsi/target_nodes create Target0 Target0_alias \"Malloc0:0 Mallo
$spdkcli_job "/iscsi/target_nodes create Target1 Target1_alias Malloc2:0 1:2 64 g=1" "Target1" True
$spdkcli_job "/iscsi/target_nodes create Target1 Target1_alias Malloc2:0 1:2 64 g=1" "Target1" True
$spdkcli_job "/iscsi/target_nodes/iqn.2016-06.io.spdk:Target0 add_pg_ig_maps \"1:3 2:2\"" "portal_group1 - initiator_group3" True
$spdkcli_job "/iscsi/target_nodes/iqn.2016-06.io.spdk:Target0 add_pg_ig_maps \"1:3 2:2\"" "portal_group1 - initiator_group3" True
$spdkcli_job "/iscsi/target_nodes add_lun iqn.2016-06.io.spdk:Target1 Malloc3 2" "Malloc3" True
$spdkcli_job "/iscsi/target_nodes add_lun iqn.2016-06.io.spdk:Target1 Malloc3 2" "Malloc3" True
$spdkcli_job "/iscsi/auth_groups create 1 \"user:test secret:test muser:mutual_test msecret:mutual_test \
$spdkcli_job "/iscsi/auth_groups create 1 \"user:test1 secret:test1 muser:mutual_test1 msecret:mutual_test1,\
user:test3 secret:test3 muser:mutual_test3 msecret:mutual_test3\"" "user=test3" True
user:test3 secret:test3 muser:mutual_test3 msecret:mutual_test3\"" "user=test3" True
$spdkcli_job "/iscsi/auth_groups add_secret 1 user=test2 secret=test2 muser=mutual_test2 msecret=mutual_test2" "user=test2" True
$spdkcli_job "/iscsi/auth_groups add_secret 1 user=test2 secret=test2 muser=mutual_test2 msecret=mutual_test2" "user=test2" True
$spdkcli_job "/iscsi/auth_groups create 2 \"user:test4 secret:test4 muser:mutual_test4 msecret:mutual_test4\"" "user=test4" True
$spdkcli_job "/iscsi/target_nodes/iqn.2016-06.io.spdk:Target0 set_auth g=1 d=true" "disable_chap: True" True
$spdkcli_job "/iscsi/target_nodes/iqn.2016-06.io.spdk:Target0 set_auth g=1 d=true" "disable_chap: True" True
$spdkcli_job "/iscsi/global_params set_auth g=1 d=true r=false" "disable_chap: True" True
$spdkcli_job "/iscsi/global_params set_auth g=1 d=true r=false" "disable_chap: True" True
$spdkcli_job "/iscsi ls" "Malloc" True
$spdkcli_job "/iscsi ls" "Malloc" True
@@ -42,13 +43,17 @@ timing_exit spdkcli_check_match


timing_enter spdkcli_clear_iscsi_config
timing_enter spdkcli_clear_iscsi_config
$spdkcli_job "/iscsi/auth_groups delete_secret 1 test2" "user=test2"
$spdkcli_job "/iscsi/auth_groups delete_secret 1 test2" "user=test2"
$spdkcli_job "/iscsi/auth_groups delete 1" "user=test"
$spdkcli_job "/iscsi/auth_groups delete_secret_all 1" "user=test1"
$spdkcli_job "/iscsi/auth_groups delete 1" "user=test1"
$spdkcli_job "/iscsi/auth_groups delete_all" "user=test4"
$spdkcli_job "/iscsi/target_nodes/iqn.2016-06.io.spdk:Target0 delete_pg_ig_maps \"1:3 2:2\"" "portal_group1 - initiator_group3"
$spdkcli_job "/iscsi/target_nodes/iqn.2016-06.io.spdk:Target0 delete_pg_ig_maps \"1:3 2:2\"" "portal_group1 - initiator_group3"
$spdkcli_job "/iscsi/target_nodes delete iqn.2016-06.io.spdk:Target1" "Target1"
$spdkcli_job "/iscsi/target_nodes delete iqn.2016-06.io.spdk:Target1" "Target1"
$spdkcli_job "/iscsi/target_nodes delete iqn.2016-06.io.spdk:Target0" "Target0"
$spdkcli_job "/iscsi/target_nodes delete_all" "Target0"
$spdkcli_job "/iscsi/initiator_groups delete_initiator 2 ANW 10.0.2.16/32" "ANW"
$spdkcli_job "/iscsi/initiator_groups delete_initiator 2 ANW 10.0.2.16/32" "ANW"
$spdkcli_job "/iscsi/initiator_groups delete 3" "ANYZ"
$spdkcli_job "/iscsi/initiator_groups delete 3" "ANZ"
$spdkcli_job "/iscsi/initiator_groups delete_all" "ANY"
$spdkcli_job "/iscsi/portal_groups delete 1" "127.0.0.1:3261"
$spdkcli_job "/iscsi/portal_groups delete 1" "127.0.0.1:3261"
$spdkcli_job "/iscsi/portal_groups delete_all" "127.0.0.1:3262"
$spdkcli_job "/bdevs/malloc delete Malloc3" "Malloc3"
$spdkcli_job "/bdevs/malloc delete Malloc3" "Malloc3"
$spdkcli_job "/bdevs/malloc delete Malloc2" "Malloc2"
$spdkcli_job "/bdevs/malloc delete Malloc2" "Malloc2"
$spdkcli_job "/bdevs/malloc delete Malloc1" "Malloc1"
$spdkcli_job "/bdevs/malloc delete Malloc1" "Malloc1"
+7 −4
Original line number Original line Diff line number Diff line
o- iscsi ..................................................................................................................... [...]
o- iscsi ..................................................................................................................... [...]
  o- auth_groups ....................................................................................................... [Groups: 1]
  o- auth_groups ....................................................................................................... [Groups: 2]
  | o- group1 ......................................................................................................... [Secrets: 2]
  | o- group1 ......................................................................................................... [Secrets: 3]
  |   o- user=test2, secret=test2, muser=mutual_test2, msecret=mutual_test2 .................................................. [...]
  | | o- user=test1, secret=test1, muser=mutual_test1, msecret=mutual_test1 .................................................. [...]
  |   o- user=test3, secret=test3, muser=mutual_test3, msecret=mutual_test3 .................................................. [...]
  | | o- user=test2, secret=test2, muser=mutual_test2, msecret=mutual_test2 .................................................. [...]
  | | o- user=test3, secret=test3, muser=mutual_test3, msecret=mutual_test3 .................................................. [...]
  | o- group2 ......................................................................................................... [Secrets: 1]
  |   o- user=test4, secret=test4, muser=mutual_test4, msecret=mutual_test4 .................................................. [...]
  o- global_params ........................................................................................................... [...]
  o- global_params ........................................................................................................... [...]
  | o- allow_duplicated_isid: False .......................................................................................... [...]
  | o- allow_duplicated_isid: False .......................................................................................... [...]
  | o- chap_group: 1 ......................................................................................................... [...]
  | o- chap_group: 1 ......................................................................................................... [...]