Add Hitachi HSP Share Driver Documentation

This patch adds the documentation for the Hitachi Hyper Scale-Out
Platform File Services Driver for Openstack.

Change-Id: I2943e762c2a46763ac010152de31f89c4e2a5a30
Closes-bug: #1613821
This commit is contained in:
tpsilva 2016-11-16 09:45:25 -02:00 committed by Andreas Jaeger
parent 365a361dbe
commit d42386dc3c
7 changed files with 255 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

@ -18,6 +18,7 @@ Share drivers
drivers/emc-vnx-driver.rst
drivers/emc-unity-driver.rst
drivers/hitachi-hnas-driver.rst
drivers/hitachi-hsp-driver.rst
drivers/hpe-3par-share-driver.rst
drivers/huawei-nas-driver.rst
drivers/ibm-gpfs-driver.rst

View File

@ -0,0 +1,212 @@
===================================================================
Hitachi Hyper Scale-Out Platform File Services Driver for OpenStack
===================================================================
The Hitachi Hyper Scale-Out Platform File Services Driver for OpenStack
provides the management of file shares, supporting NFS shares with IP based
rules to control access. It has a layer that handles the complexity of the
protocol used to communicate to Hitachi Hyper Scale-Out Platform via a
RESTful API, formatting and sending requests to the backend.
Requirements
~~~~~~~~~~~~
- Hitachi Hyper Scale-Out Platform (HSP) version 1.1.
- HSP user with ``file-system-full-access`` role.
- Established network connection between the HSP interface and OpenStack
nodes.
Supported shared filesystems and operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The driver supports NFS shares.
The following operations are supported:
- Create a share.
- Delete a share.
- Extend a share.
- Shrink a share.
- Allow share access.
- Deny share access.
- Manage a share.
- Unmanage a share.
.. note::
- Only ``IP`` access type is supported
- Both ``RW`` and ``RO`` access levels supported
Known restrictions
~~~~~~~~~~~~~~~~~~
- The Hitachi HSP allows only 1024 virtual file systems per cluster. This
determines the limit of shares the driver can provide.
- The Hitachi HSP file systems must have at least 128 GB. This means that
all shares created by Shared File Systems service should have 128 GB or
more.
.. note::
The driver has an internal filter function that accepts only requests for
shares size greater than or equal to 128 GB, otherwise the request will
fail or be redirected to another available storage backend.
Driver options
~~~~~~~~~~~~~~
The following table contains the configuration options specific to the share
driver.
.. include:: ../../tables/manila-hds_hsp.rst
Network approach
~~~~~~~~~~~~~~~~
.. note::
In the driver mode used by HSP Driver (DHSS = ``False``), the driver does
not handle network configuration, it is up to the administrator to
configure it.
* Configure the network of the manila-share, Compute and Networking nodes to
reach HSP interface. For this, your provider network should be capable of
reaching HSP Cluster-Virtual-IP. These connections are mandatory so nova
instances are capable of accessing shares provided by the backend.
* The following image represents a valid scenario:
.. image:: ../../figures/hsp_network.png
:width: 60%
.. note::
To HSP, the Virtual IP is the address through which clients access shares
and the Shared File Systems service sends commands to the management
interface.
This IP can be checked in HSP using its CLI:
.. code-block:: console
$ hspadm ip-address list
Back end configuration
~~~~~~~~~~~~~~~~~~~~~~
#. Configure HSP driver according to your environment. This example
shows a valid HSP driver configuration:
.. code-block:: ini
[DEFAULT]
...
enabled_share_backends = hsp1
enabled_share_protocols = NFS
...
[hsp1]
share_backend_name = HITACHI1
share_driver = manila.share.drivers.hitachi.hsp.driver.HitachiHSPDriver
driver_handles_share_servers = False
hitachi_hsp_host = 172.24.47.190
hitachi_hsp_username = admin
hitachi_hsp_password = admin_password
#. Configure HSP share type.
.. note::
Shared File Systems service requires that the share type includes the
``driver_handles_share_servers`` extra-spec. This ensures that the
share will be created on a backend that supports the requested
``driver_handles_share_servers`` capability. Also,
``snapshot_support`` extra-spec should be provided if its value
differs from the default value (``True``), as this driver version
that currently does not support snapshot operations. For this
driver both extra-specs must be set to ``False``.
.. code-block:: console
$ manila type-create --snapshot_support False hsp False
#. Restart all Shared File Systems services (``manila-share``,
``manila-scheduler`` and ``manila-api``).
Manage and unmanage shares
~~~~~~~~~~~~~~~~~~~~~~~~~~
The Shared File Systems service has the ability to manage and unmanage shares.
If there is a share in the storage and it is not in OpenStack, you can manage
that share and use it as a Shared File Systems share. Previous access rules
are not imported by manila. The unmanage operation only unlinks the share from
OpenStack, preserving all data in the share.
In order to manage a HSP share, it must adhere to the following rules:
- File system and share name must not contain spaces.
- Share name must not contain backslashes (`\\`).
To **manage** a share use:
.. code-block:: console
$ manila manage [--name <name>] [--description <description>]
[--share_type <share_type>] [--driver_options [<key=value>
[<key=value> ...]]] <service_host> <protocol> <export_path>
Where:
+--------------------+------------------------------------------------------+
| **Parameter** | **Description** |
+====================+======================================================+
| | Manila host, backend and share name. For example, |
| ``service_host`` | ``ubuntu@hitachi1#hsp1``. The available hosts can |
| | be listed with the command: ``manila pool-list`` |
| | (admin only). |
+--------------------+---------------------+--------------------------------+
| ``protocol`` | Must be **NFS**, the only supported protocol in this |
| | driver version. |
+--------------------+------------------------------------------------------+
| ``export_path`` | The Hitachi Hyper Scale-Out Platform export path of |
| | the share, for example: |
| | ``172.24.47.190:/some_share_name`` |
+--------------------+------------------------------------------------------+
| To **unmanage** a share use:
.. code-block:: console
$ manila unmanage <share>
Where:
+------------------+---------------------------------------------------------+
| **Parameter** | **Description** |
+==================+=========================================================+
| ``share`` | ID or name of the share to be unmanaged. This list can |
| | be fetched with: ``manila list``. |
+------------------+---------------------+-----------------------------------+
Additional notes
~~~~~~~~~~~~~~~~
- Shares are thin provisioned. It is reported to manila only the
real used space in HSP.
- Administrators should manage the tenants quota (``manila quota-update``)
to control the backend usage.

View File

@ -0,0 +1,30 @@
..
Warning: Do not edit this file. It is automatically generated from the
software project's code and your changes will be overwritten.
The tool to generate this file lives in openstack-doc-tools repository.
Please make any changes needed in the code, then run the
autogenerate-config-doc tool from the openstack-doc-tools repository, or
ask for help on the documentation mailing list, IRC channel or meeting.
.. _manila-hds_hsp:
.. list-table:: Description of HDS HSP Share Driver configuration options
:header-rows: 1
:class: config-ref-table
* - Configuration option = Default value
- Description
* - **[hsp1]**
-
* - ``hitachi_hsp_host`` = ``None``
- (String) HSP management host for communication between Manila controller and HSP.
* - ``hitachi_hsp_username`` = ``None``
- (String) HSP username to perform tasks such as create filesystems and shares.
* - ``hitachi_hsp_password`` = ``None``
- (String) HSP password for the username provided.
* - ``share_backend_name`` = ``None``
- (String) The backend name for a given driver implementation.
* - ``share_driver`` = ``manila.share.drivers.generic.GenericShareDriver``
- (String) Driver to use for share creation.

View File

@ -225,7 +225,6 @@ reserved_share_percentage common
root_helper share
rootwrap_config common
rpc_backend disable
rpc_cast_timeout disable
rpc_conn_pool_size disable
rpc_poll_timeout disable
rpc_response_timeout disable
@ -398,6 +397,11 @@ database/sqlite_synchronous disable
database/use_db_reconnect disable
hnas1/share_backend_name hds_hnas
hnas1/share_driver hds_hnas
hsp1/hitachi_hsp_host hds_hsp
hsp1/hitachi_hsp_username hds_hsp
hsp1/hitachi_hsp_password hds_hsp
hsp1/share_backend_name hds_hsp
hsp1/share_driver hds_hsp
keystone_authtoken/admin_password disable
keystone_authtoken/admin_tenant_name disable
keystone_authtoken/admin_token disable
@ -554,7 +558,6 @@ oslo_messaging_rabbit/socket_timeout disable
oslo_messaging_rabbit/ssl disable
oslo_messaging_rabbit/ssl_options disable
oslo_messaging_rabbit/tcp_user_timeout disable
oslo_messaging_zmq/rpc_cast_timeout disable
oslo_messaging_zmq/rpc_poll_timeout disable
oslo_messaging_zmq/rpc_zmq_bind_address disable
oslo_messaging_zmq/rpc_zmq_bind_port_retries disable

View File

@ -13,6 +13,7 @@ glusterfs GlusterFS Share Drivers
gpfs IBM GPFS Share Driver
hdfs HDFS Share Driver
hds_hnas HDS NAS Share Driver
hds_hsp HDS HSP Share Driver
hpe3par HPE 3PAR Share Driver
huawei Huawei Share Driver
lvm LVM Share Driver

View File

@ -7,5 +7,9 @@ hds_hnas_file_system_name hnas1
hds_hnas_ip hnas1
hds_hnas_password hnas1
hds_hnas_ssh_private_key hnas1
share_backend_name hnas1
share_driver hnas1
share_backend_name hnas1 hsp1
share_driver hnas1 hsp1
hitachi_hsp_host hsp1
hitachi_hsp_username hsp1
hitachi_hsp_password hsp1