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()))
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()))
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()))
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()))
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
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)