From 328fd3792413b6a018b280663edeedddd00c72af Mon Sep 17 00:00:00 2001 From: raghavendrat Date: Thu, 17 Oct 2019 00:28:42 -0700 Subject: [PATCH] 3PAR: Add HPE Primera related information In documentation, added information and steps for using HPE Primera (storage system) Change-Id: I47007fcdc4e70fad8ec2ee25f49cbedf656d391f --- cinder/volume/drivers/hpe/hpe_3par_common.py | 20 ++-- .../block-storage/drivers/hpe-3par-driver.rst | 96 +++++++++++++------ 2 files changed, 78 insertions(+), 38 deletions(-) diff --git a/cinder/volume/drivers/hpe/hpe_3par_common.py b/cinder/volume/drivers/hpe/hpe_3par_common.py index 5404aa31c27..1d7ad921199 100644 --- a/cinder/volume/drivers/hpe/hpe_3par_common.py +++ b/cinder/volume/drivers/hpe/hpe_3par_common.py @@ -85,21 +85,27 @@ REMOTE_COPY_API_VERSION = 30202290 hpe3par_opts = [ cfg.StrOpt('hpe3par_api_url', default='', - help="3PAR WSAPI Server Url like " - "https://<3par ip>:8080/api/v1"), + help="WSAPI Server URL. " + "This setting applies to both 3PAR and Primera. " + "\n Example 1: for 3PAR, URL is: " + "\n https://<3par ip>:8080/api/v1 " + "\n Example 2: for Primera, URL is: " + "\n https://:443/api/v1"), cfg.StrOpt('hpe3par_username', default='', - help="3PAR username with the 'edit' role"), + help="3PAR / Primera username with the 'edit' role"), cfg.StrOpt('hpe3par_password', default='', - help="3PAR password for the user specified in hpe3par_username", + help="3PAR / Primera password for the user specified " + "in hpe3par_username", secret=True), cfg.ListOpt('hpe3par_cpg', default=["OpenStack"], - help="List of the CPG(s) to use for volume creation"), + help="List of the 3PAR / Primera CPG(s) to use for " + "volume creation"), cfg.StrOpt('hpe3par_cpg_snap', default="", - help="The CPG to use for Snapshots for volumes. " + help="The 3PAR / Primera CPG to use for snapshots of volumes. " "If empty the userCPG will be used."), cfg.StrOpt('hpe3par_snapshot_retention', default="", @@ -111,7 +117,7 @@ hpe3par_opts = [ " and is deleted. This must be larger than expiration"), cfg.BoolOpt('hpe3par_debug', default=False, - help="Enable HTTP debugging to 3PAR"), + help="Enable HTTP debugging to 3PAR / Primera"), cfg.ListOpt('hpe3par_iscsi_ips', default=[], help="List of target iSCSI addresses to use."), diff --git a/doc/source/configuration/block-storage/drivers/hpe-3par-driver.rst b/doc/source/configuration/block-storage/drivers/hpe-3par-driver.rst index bd5a2502dc0..969669902ff 100644 --- a/doc/source/configuration/block-storage/drivers/hpe-3par-driver.rst +++ b/doc/source/configuration/block-storage/drivers/hpe-3par-driver.rst @@ -1,21 +1,21 @@ -======================================== -HPE 3PAR Driver for OpenStack Cinder -======================================== +==================================================== +HPE 3PAR and HPE Primera Driver for OpenStack Cinder +==================================================== The ``HPE3PARFCDriver`` and ``HPE3PARISCSIDriver`` drivers, which are based on the Block Storage service (Cinder) plug-in architecture, run volume operations -by communicating with the HPE 3PAR storage system over HTTP, HTTPS, and SSH -connections. The HTTP and HTTPS communications use ``python-3parclient``, -which is part of the Python standard library. +by communicating with the HPE 3PAR and HPE Primera storage system over HTTP, +HTTPS, and SSH connections. The HTTP and HTTPS communications use +``python-3parclient``, which is part of PyPi. -For information on HPE 3PAR Driver for OpenStack Cinder, refer to +For information on HPE 3PAR and HPE Primera Driver for OpenStack Cinder, refer to `content kit page `_. System requirements ~~~~~~~~~~~~~~~~~~~ -To use the HPE 3PAR drivers, install the following software and components on -the HPE 3PAR storage system: +To use the HPE 3PAR and HPE Primera drivers, install the following software +and components on the HPE 3PAR storage system: * HPE 3PAR Operating System software version 3.1.3 MU1 or higher. @@ -57,7 +57,23 @@ the HPE 3PAR storage system: * One Common Provisioning Group (CPG). * Additionally, you must install the ``python-3parclient`` version 4.2.0 or - newer from the Python standard library on the system with the enabled Block + newer from PyPi on the system with the enabled Block + Storage service volume drivers. + +To use the HPE Primera backend, install the following software and components +on the HPE Primera storage system: + +* HPE Primera Operating System software version 4.0.0. + + * On HPE Primera storage system, Dedup & Compression is combined as single + option 'deco'. Due to this, only either 'thin' volume or 'deco' volume + can be created. + + * Also, port number 443 is used instead of 8080. This only affects + cinder configuration. + +* Additionally, you must install the ``python-3parclient`` version 4.2.11 or + newer from PyPi on the system with the enabled Block Storage service volume drivers. Supported operations @@ -142,7 +158,7 @@ pairs and associate them with a volume type, run the following command: Volumes that are cloned only support the extra specs keys cpg, snap_cpg, provisioning and vvs. The others are ignored. In addition the comments - section of the cloned volume in the HPE 3PAR StoreServ storage array is + section of the cloned volume in the HPE 3PAR / HPE Primera array is not populated. If volume types are not used or a particular key is not set for a volume type, @@ -200,7 +216,7 @@ pairs and associate them with a volume type, run the following commands: $ openstack help volume qos -The following keys require that the HPE 3PAR StoreServ storage array has a +The following keys require that the HPE 3PAR / HPE Primera array has a Priority Optimization enabled. ``hpe3par:vvs`` @@ -238,7 +254,7 @@ Priority Optimization enabled. 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. -The following key requires that the HPE 3PAR StoreServ storage array has an +The following key requires that the HPE 3PAR / HPE Primera array has an Adaptive Flash Cache enabled. * ``hpe3par:flash_cache`` - The flash-cache policy, which can be turned on and @@ -249,14 +265,21 @@ Adaptive Flash Cache enabled. Other restrictions and considerations for ``hpe3par:compression``: -- For a compressed volume, minimum volume size needed is 16 GB; otherwise +* For a compressed volume, minimum volume size needed is 16 GB; otherwise resulting volume will be created successfully but will not be a compressed volume. -- A full provisioned volume cannot be compressed, +* A full provisioned volume cannot be compressed, if a compression is enabled and provisioning type requested is full, the resulting volume defaults to thinly provisioned compressed volume. +* While creating volume on HPE Primera storage system, only below two + combinations are supported. If any other combination is used, then + volume is not created. + + * thin volume: provisioning = ``thin`` and compression = ``false`` + * deco volume: provisioning = ``dedup`` and compression = ``true`` + LDAP and AD authentication is now supported in the HPE 3PAR driver. The 3PAR back end must be properly configured for LDAP and AD authentication @@ -281,13 +304,14 @@ OpenStack software. #. Verify that the HPE 3PAR Web Services API server is enabled and running on - the HPE 3PAR storage system. + the HPE 3PAR / HPE Primera storage system. - a. Log onto the HP 3PAR storage system with administrator access. + a. Log onto the HPE 3PAR / HPE Primera storage system with administrator + access. .. code-block:: console - $ ssh 3paradm@ + $ ssh 3paradm@ b. View the current state of the Web Services API Server. @@ -320,23 +344,28 @@ OpenStack software. To stop the Web Services API Server, use the :command:`stopwsapi` command. For other options run the :command:`setwsapi -h` command. -#. If you are not using an existing CPG, create a CPG on the HPE 3PAR storage - system to be used as the default location for creating volumes. +#. If you are not using an existing CPG, create a CPG on the HPE 3PAR / HPE + Primera storage system to be used as the default location for creating volumes. #. Make the following changes in the ``/etc/cinder/cinder.conf`` file. .. code-block:: ini - # 3PAR WS API Server URL - hpe3par_api_url=https://10.10.0.141:8080/api/v1 + # WSAPI Server URL. + # This setting applies to both 3PAR and Primera. + # Example 1: for 3PAR, URL is: + https://<3par ip>:8080/api/v1 - # 3PAR username with the 'edit' role + # Example 2: for Primera, URL is: + https://:443/api/v1 + + # 3PAR / Primera username with the 'edit' role hpe3par_username=edit3par - # 3PAR password for the user specified in hpe3par_username + # 3PAR / Primera password for the user specified in hpe3par_username hpe3par_password=3parpass - # 3PAR CPG to use for volume creation + # 3PAR / Primera CPG to use for volume creation hpe3par_cpg=OpenStackCPG_RAID5_NL # IP address of SAN controller for SSH access to the array @@ -348,11 +377,17 @@ OpenStack software. # 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.hpe.hpe_3par_fc.HPE3PARFCDriver + # FIBRE CHANNEL DRIVER + # Note: For Primera, only FC driver is supported as of now. + # (uncomment the next line to enable the FC driver) + #volume_driver=cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver - # iSCSI (uncomment the next line to enable the iSCSI driver and - # hpe3par_iscsi_ips or iscsi_ip_address) + # iSCSI DRIVER + # If you enable the iSCSI driver, you must also set values + # for hpe3par_iscsi_ips or iscsi_ip_address in this file. + # Note: Primera currently requires the FC driver. If you + # configure iSCSI with Primera, the driver will fail to start. + # (uncomment the next line to enable the iSCSI driver) #volume_driver=cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver # iSCSI multiple port configuration @@ -361,8 +396,7 @@ OpenStack software. # Still available for single port iSCSI configuration #iscsi_ip_address=10.10.220.253 - - # Enable HTTP debugging to 3PAR + # Enable HTTP debugging to 3PAR / Primera hpe3par_debug=False # Enable CHAP authentication for iSCSI connections.