Example #1
0
 def iscsi_chap_auth(self, init_id, in_user, in_password,
                     out_user, out_password, flags=FLAG_RSVD):
     """
     Register a user/password for the specified initiator for CHAP
     authentication.
     """
     AccessGroup.initiator_id_verify(init_id,
                                     AccessGroup.INIT_TYPE_ISCSI_IQN,
                                     raise_exception=True)
     return self._tp.rpc('iscsi_chap_auth', _del_self(locals()))
Example #2
0
 def access_group_initiator_add(self, access_group, init_id, init_type,
                                flags=FLAG_RSVD):
     """
     Adds an initiator to an access group
     """
     init_type, init_id = AccessGroup.initiator_id_verify(
         init_id, init_type, raise_exception=True)[1:]
     return self._tp.rpc('access_group_initiator_add', _del_self(locals()))
Example #3
0
 def access_group_initiator_delete(self, access_group, init_id, init_type,
                                   flags=FLAG_RSVD):
     """
     Deletes an initiator from an access group
     """
     init_id = AccessGroup.initiator_id_verify(init_id, None,
                                               raise_exception=True)[2]
     return self._tp.rpc('access_group_initiator_delete',
                         _del_self(locals()))
Example #4
0
 def access_group_create(self, name, init_id, init_type, system,
                         flags=FLAG_RSVD):
     """
     Creates an access group and add the specified initiator id,
     init_type and desired access.
     """
     init_type, init_id = AccessGroup.initiator_id_verify(
         init_id, init_type, raise_exception=True)[1:]
     return self._tp.rpc('access_group_create', _del_self(locals()))
Example #5
0
def lsm_init_id_to_snia(lsm_init_id):
    """
    If lsm_init_id is a WWPN, convert it to SNIA format:
        [0-9A-F]{16}
    If not, return original directly.
    """
    val, init_type, init_id = AccessGroup.initiator_id_verify(lsm_init_id)
    if val and init_type == AccessGroup.INIT_TYPE_WWPN:
        return lsm_init_id.replace(':', '').upper()
    return lsm_init_id
Example #6
0
def lsm_init_id_to_snia(lsm_init_id):
    """
    If lsm_init_id is a WWPN, convert it to SNIA format:
        [0-9A-F]{16}
    If not, return original directly.
    """
    val, init_type, init_id = AccessGroup.initiator_id_verify(lsm_init_id)
    if val and init_type == AccessGroup.INIT_TYPE_WWPN:
        return lsm_init_id.replace(':', '').upper()
    return lsm_init_id
Example #7
0
def parse_convert_init(init_id):
    """
    If init_id is a WWPN, convert it into LSM standard version:
        (?:[0-9a-f]{2}:){7}[0-9a-f]{2}

    Return (converted_init_id, lsm_init_type)
    """
    valid, init_type, init_id = AccessGroup.initiator_id_verify(init_id)

    if valid:
        return (init_id, init_type)

    raise ArgError("--init-id %s is not a valid WWPN or iSCSI IQN" % init_id)