The cinder.volume.drivers.hitachi.hnas_backend
Module¶
Hitachi Unified Storage (HUS-HNAS) platform. Backend operations.
-
class
HnasBackend
(drv_configs)¶ Bases:
object
Back end. Talks to HUS-HNAS.
-
add_iscsi_conn
(*args, **kwargs)¶ Setup the lun on on the specified target port
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- lun_name – id of the logical unit being extended
- hdp – data pool of the logical unit
- port – iSCSI port
- tgtalias – iSCSI qualified name
- initiator – initiator address
-
check_lu
(cmd, ip0, user, pw, volume_name, hdp)¶ Checks if a given LUN is already mapped
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- volume_name – number of the LUN
- hdp – storage pool of the LUN
:return True if the lun is attached :return the LUN id :return Info related to the target
-
check_target
(cmd, ip0, user, pw, hdp, target_alias)¶ Checks if a given target exists and gets its info
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- hdp – pool name used
- target_alias – alias of the target
:return True if target exists :return list with the target info
-
create_dup
(cmd, ip0, user, pw, src_lun, hdp, size, name)¶ Clones a volume
Clone primitive used to support all iSCSI snapshot/cloning functions. Used for iSCSI only.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- hdp – data Pool of the logical unit
- src_lun – id of the logical unit being deleted
- size – size of the LU being cloned. Only for logging purposes
Returns: formated string
-
create_lu
(cmd, ip0, user, pw, hdp, size, name)¶ Creates a new Logical Unit.
If the operation can not be performed for some reason, utils.execute() throws an error and aborts the operation. Used for iSCSI only
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- hdp – data Pool the logical unit will be created
- size – Size (Mb) of the new logical unit
- name – name of the logical unit
Returns: formated string with ‘LUN %d HDP: %d size: %s MB, is successfully created’
-
del_iscsi_conn
(cmd, ip0, user, pw, evsid, iqn, hlun)¶ Remove the lun on on the specified target port
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- evsid – EVSID for the file system
- iqn – iSCSI qualified name
- hlun – logical unit id
Returns: formated string
-
delete_lu
(cmd, ip0, user, pw, hdp, lun)¶ Delete an logical unit. Used for iSCSI only
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- hdp – data Pool of the logical unit
- lun – id of the logical unit being deleted
Returns: formated string ‘Logical unit deleted successfully.’
-
extend_vol
(cmd, ip0, user, pw, hdp, lun, new_size, name)¶ Extend a iSCSI volume.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- hdp – data Pool of the logical unit
- lun – id of the logical unit being extended
- new_size – new size of the LU
- name – formated string
-
file_clone
(cmd, ip0, user, pw, fslabel, src, name)¶ Clones NFS files to a new one named ‘name’
Clone primitive used to support all NFS snapshot/cloning functions.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- fslabel – file system label of the new file
- src – source file
- name – target path of the new created file
Returns: formated string
-
get_evs
(cmd, ip0, user, pw, fsid)¶ Gets the EVSID for the named filesystem.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
Returns: EVS id of the file system
-
get_existing_lu_info
(cmd, ip0, user, pw, fslabel, lun)¶ Returns the information for the specified Logical Unit.
Returns the information of an existing Logical Unit on HNAS, according to the name provided.
Parameters: - cmd – the command that will be run on SMU
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- fslabel – label of the file system
- lun – label of the logical unit
-
get_hdp_info
(cmd, ip0, user, pw, fslabel=None)¶ Gets the list of filesystems and fsids.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- fslabel – filesystem label we want to get info
Returns: formated string with filesystems and fsids
-
get_iscsi_info
(cmd, ip0, user, pw)¶ Gets IP addresses for EVSs, use EVSID as controller.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
Returns: formated string with iSCSI information
-
get_nfs_info
(cmd, ip0, user, pw)¶ Gets information on each NFS export.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
Returns: formated string
-
get_targetiqn
(cmd, ip0, user, pw, targetalias, hdp, secret)¶ Obtain the targets full iqn
Returns the target’s full iqn rather than its alias. :param cmd: ssc command name :param ip0: string IP address of controller :param user: string user authentication for array :param pw: string password authentication for array :param targetalias: alias of the target :param hdp: data pool of the logical unit :param secret: CHAP secret of the target :return: string with full IQN
-
get_targetsecret
(cmd, ip0, user, pw, targetalias, hdp)¶ Returns the chap secret for the specified target.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- targetalias – alias of the target
- hdp – data pool of the logical unit
Return secret: CHAP secret of the target
-
get_version
(cmd, ver, ip0, user, pw)¶ Gets version information from the storage unit
Parameters: - cmd – ssc command name
- ver – string driver version
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
Returns: formatted string with version information
-
rename_existing_lu
(cmd, ip0, user, pw, fslabel, new_name, vol_name)¶ Renames the specified Logical Unit.
Renames an existing Logical Unit on HNAS according to the new name provided.Parameters: - cmd – command that will be run on SMU
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- fslabel – label of the file system
- new_name – new name to the existing volume
- vol_name – current name of the existing volume
-
run_cmd
(*args, **kwargs)¶ Run a command on SMU or using SSH
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
Returns: formated string with version information
-
set_targetsecret
(cmd, ip0, user, pw, targetalias, hdp, secret)¶ Sets the chap secret for the specified target.
Parameters: - cmd – ssc command name
- ip0 – string IP address of controller
- user – string user authentication for array
- pw – string password authentication for array
- targetalias – alias of the target
- hdp – data pool of the logical unit
- secret – CHAP secret of the target
-