HP 3PAR Fibre Channel and iSCSI drivers The HP3PARFCDriver and HP3PARISCSIDriver drivers, which are based on the Block Storage Service (Cinder) plug-in architecture, run volume operations by communicating with the HP 3PAR storage system over HTTP, HTTPS, and SSH connections. The HTTP and HTTPS communications use hp3parclient, which is part of the Python standard library. For information about how to manage HP 3PAR storage systems, see the HP 3PAR user documentation.
System requirements To use the HP 3PAR drivers, install the following software and components on the HP 3PAR storage system: HP 3PAR Operating System software version 3.1.3 or higher HP 3PAR Web Services API Server must be enabled and running One Common Provisioning Group (CPG) Additionally, you must install the hp3parclient version 3.0 or newer from the Python standard library on the system with the enabled Block Storage Service volume drivers.
Supported operations Create volumes. Delete volumes. Extend volumes. Attach volumes. Detach volumes. Create snapshots. Delete snapshots. Create volumes from snapshots. Create cloned volumes. Copy images to volumes. Copy volumes to images. Volume migration(backend assisted). Volume type support for both HP 3PAR drivers includes the ability to set the following capabilities in the OpenStack Block Storage API cinder.api.contrib.types_extra_specs volume type extra specs extension module: hp3par:cpg hp3par:snap_cpg hp3par:provisioning hp3par:persona hp3par:vvs To work with the default filter scheduler, the key values are case sensitive and scoped with hp3par:. For information about how to set the key-value pairs and associate them with a volume type, run the following command: $ cinder help type-key Volumes that are cloned only support extra specs keys cpg, snap_cpg, provisioning and vvs. The others are ignored. In addition the comments section of the cloned volume in the HP 3PAR StoreServ storage array is not populated. If volume types are not used or a particular key is not set for a volume type, the following defaults are used. hp3par:cpg - Defaults to the hp3par_cpg setting in the cinder.conf file. hp3par:snap_cpg - Defaults to the hp3par_snap setting in the cinder.conf file. If hp3par_snap is not set, it defaults to the hp3par_cpg setting. hp3par:provisioning - Defaults to thin provisioning, the valid values are thin and full. hp3par:persona - Defaults to the 1 - Generic persona. The valid values are, 1 - Generic, 2 - Generic-ALUA, 6 - Generic-legacy, 7 - HPUX-legacy, 8 - AIX-legacy, 9 - EGENERA, 10 - ONTAP-legacy, 11 - VMware, 12 - OpenVMS, 13 - HPUX, and 15 - WindowsServer. QoS support for both HP 3PAR drivers includes the ability to set the following capabilities in the OpenStack Block Storage API cinder.api.contrib.qos_specs_manage qos specs extension module: minBWS maxBWS minIOPS maxIOPS latency priority The qos keys above no longer require to be scoped but must be created and associated to a volume type. For information about how to set the key-value pairs and associate them with a volume type, run the following commands: $ cinder help qos-create $ cinder help qos-key $ cinder help qos-associate The following keys require that the HP 3PAR StoreServ storage array has a Priority Optimization license installed. hp3par:vvs - The virtual volume set name that has been predefined by the Administrator with Quality of Service (QoS) rules associated to it. If you specify extra_specs hp3par:vvs, the qos_specs minIOPS, maxIOPS, minBWS, and maxBWS settings are ignored. minBWS - The QoS I/O issue bandwidth minimum goal in MBs. If not set, the I/O issue bandwidth rate has no minimum goal. maxBWS - The QoS I/O issue bandwidth rate limit in MBs. If not set, the I/O issue bandwidth rate has no limit. minIOPS - The QoS I/O issue count minimum goal. If not set, the I/O issue count has no minimum goal. maxIOPS - The QoS I/O issue count rate limit. If not set, the I/O issue count rate has no limit. latency - The latency goal in milliseconds. priority - The priority of the QoS rule over other rules. If not set, the priority is normal, valid values are low, normal and high. Since the Icehouse release, minIOPS and maxIOPS must be used together to set I/O limits. Similarly, minBWS and maxBWS must be used together. If only one is set the other will be set to the same value.
Enable the HP 3PAR Fibre Channel and iSCSI drivers The HP3PARFCDriver and HP3PARISCSIDriver are installed with the OpenStack software. Install the hp3parclient Python package on the OpenStack Block Storage system. $ sudo pip install 'hp3parclient>=3.0,<4.0' Verify that the HP 3PAR Web Services API server is enabled and running on the HP 3PAR storage system. Log onto the HP 3PAR storage system with administrator access. $ ssh 3paradm@<HP 3PAR IP Address> View the current state of the Web Services API Server. # showwsapi -Service- -State- -HTTP_State- HTTP_Port -HTTPS_State- HTTPS_Port -Version- Enabled Active Enabled 8008 Enabled 8080 1.1 If the Web Services API Server is disabled, start it. # startwsapi If the HTTP or HTTPS state is disabled, enable one of them. # setwsapi -http enable or # setwsapi -https enable To stop the Web Services API Server, use the stopwsapi command. For other options run the setwsapi –h command. If you are not using an existing CPG, create a CPG on the HP 3PAR storage system to be used as the default location for creating volumes. Make the following changes in the /etc/cinder/cinder.conf file. ## REQUIRED SETTINGS # 3PAR WS API Server URL hp3par_api_url=https://10.10.0.141:8080/api/v1 # 3PAR Super user username hp3par_username=3paradm # 3PAR Super user password hp3par_password=3parpass # 3PAR CPG to use for volume creation hp3par_cpg=OpenStackCPG_RAID5_NL # IP address of SAN controller for SSH access to the array san_ip=10.10.22.241 # Username for SAN controller for SSH access to the array san_login=3paradm # Password for SAN controller for SSH access to the array san_password=3parpass # FIBRE CHANNEL(uncomment the next line to enable the FC driver) # volume_driver=cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver # iSCSI (uncomment the next line to enable the iSCSI driver and # hp3par_iscsi_ips or iscsi_ip_address) #volume_driver=cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver # iSCSI multiple port configuration # hp3par_iscsi_ips=10.10.220.253:3261,10.10.222.234 # Still available for single port iSCSI configuration #iscsi_ip_address=10.10.220.253 ## OPTIONAL SETTINGS # Enable HTTP debugging to 3PAR hp3par_debug=False # The CPG to use for Snapshots for volumes. If empty hp3par_cpg will be used. hp3par_snap_cpg=OpenStackSNAP_CPG # Time in hours to retain a snapshot. You can't delete it before this expires. hp3par_snapshot_retention=48 # Time in hours when a snapshot expires and is deleted. This must be larger than retention. hp3par_snapshot_expiration=72 You can enable only one driver on each cinder instance unless you enable multiple back-end support. See the Cinder multiple back-end support instructions to enable this feature. You can configure one or more iSCSI addresses by using the option. When you configure multiple addresses, the driver selects the iSCSI port with the fewest active volumes at attach time. The IP address might include an IP port by using a colon (:) to separate the address from port. If you do not define an IP port, the default port 3260 is used. Separate IP addresses with a comma (,). The / options might be used as an alternative to for single port iSCSI configuration. Save the changes to the cinder.conf file and restart the cinder-volume service. The HP 3PAR Fibre Channel and iSCSI drivers are now enabled on your OpenStack system. If you experience problems, review the Block Storage Service log files for errors.