aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/source/reference/storage/index.rst1
-rw-r--r--doc/source/reference/storage/manila-pure-guide.rst286
2 files changed, 287 insertions, 0 deletions
diff --git a/doc/source/reference/storage/index.rst b/doc/source/reference/storage/index.rst
index d363954a1..42b35f9e3 100644
--- a/doc/source/reference/storage/index.rst
+++ b/doc/source/reference/storage/index.rst
@@ -15,3 +15,4 @@ supported by kolla.
cinder-guide-lightbits
manila-guide
manila-hnas-guide
+ manila-pure-guide
diff --git a/doc/source/reference/storage/manila-pure-guide.rst b/doc/source/reference/storage/manila-pure-guide.rst
new file mode 100644
index 000000000..46c1f2fdf
--- /dev/null
+++ b/doc/source/reference/storage/manila-pure-guide.rst
@@ -0,0 +1,286 @@
+.. _manila-pure-guide:
+
+==========================================================
+Pure Storage FlashBlade File Services Driver for OpenStack
+==========================================================
+
+Overview
+~~~~~~~~
+The Pure Storage FlashBlade File Services Driver for OpenStack
+provides NFS Shared File Systems to OpenStack.
+
+
+Requirements
+------------
+- Pure Storage FlashBlade
+
+- Purity//FB v2.3.0 or higher
+
+
+Supported shared file systems and operations
+--------------------------------------------
+The driver supports NFS shares.
+
+The following operations are supported:
+
+- Create a share.
+
+- Delete a share.
+
+- Allow share access.
+
+- Deny share access.
+
+- Create a snapshot.
+
+- Delete a snapshot.
+
+- Revert from snapshot.
+
+- Extend a share.
+
+- Shrink a share.
+
+
+Preparation and Deployment
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. important ::
+
+ It is mandatory that FlashBlade management interface is reachable from the
+ Shared File System node through the admin network, while the selected
+ EVS data interface is reachable from OpenStack Cloud, such as through
+ Neutron flat networking.
+
+
+Configuration on Kolla deployment
+---------------------------------
+
+Enable Shared File Systems service and FlashBlade driver in
+``/etc/kolla/globals.yml``
+
+.. code-block:: yaml
+
+ enable_manila: "yes"
+ enable_manila_backend_flashblade: "yes"
+
+Configure the OpenStack networking so it can reach FlashBlade Management
+interface and FlashBlade Data interface.
+
+To configure two physical networks, physnet1 and physnet2, with
+ports eth1 and eth2 associated respectively:
+
+In ``/etc/kolla/globals.yml`` set:
+
+.. code-block:: yaml
+
+ neutron_bridge_name: "br-ex,br-ex2"
+ neutron_external_interface: "eth1,eth2"
+
+.. note::
+
+ ``eth1`` is used to Neutron external interface and ``eth2`` is
+ used to FlashBlade data interface.
+
+FlashBlade back end configuration
+---------------------------------
+
+In ``/etc/kolla/globals.yml`` uncomment and set:
+
+.. code-block:: yaml
+
+ manila_flashblade_mgmt_vip: "172.24.44.15"
+ manila_flashblade_data_vip: "172.24.45.22"
+ manila_flashblade_api: "<API token for admin-privilaged user>"
+
+Configuration on FlashBlade
+---------------------------
+
+Create the FlashBlade data network in Kolla OpenStack:
+
+List the available tenants:
+
+.. code-block:: console
+
+ $ openstack project list
+
+Create a network to the given tenant (service), providing the tenant ID,
+a name for the network, the name of the physical network over which the
+virtual network is implemented, and the type of the physical mechanism by
+which the virtual network is implemented:
+
+.. code-block:: console
+
+ $ openstack network create --project <SERVICE_ID> \
+ --provider-physical-network physnet2 \
+ --provider-network-type flat \
+ flashblade_network
+
+*Optional* - List available networks:
+
+.. code-block:: console
+
+ $ openstack network list
+
+Create a subnet to the same tenant (service), the gateway IP of this subnet,
+a name for the subnet, the network ID created before, and the CIDR of
+subnet:
+
+.. code-block:: console
+
+ $ openstack subnet create --project <SERVICE_ID> --gateway <GATEWAY> \
+ --subnet_range <SUBNET_CIDR> flashblade_subnet
+
+*Optional* - List available subnets:
+
+.. code-block:: console
+
+ $ openstack subnet list
+
+Add the subnet interface to a router, providing the router ID and subnet
+ID created before:
+
+.. code-block:: console
+
+ $ openstack router add submet <ROUTER_ID> <SUBNET_ID>
+
+Create a share
+~~~~~~~~~~~~~~
+
+Create a default share type before running manila-share service:
+
+.. code-block:: console
+
+ $ openstack share type create default_share_flashblade False
+
+ +--------------------------------------+--------------------------+------------+------------+--------------------------------------+-------------------------+
+ | ID | Name | visibility | is_default | required_extra_specs | optional_extra_specs |
+ +--------------------------------------+--------------------------+------------+------------+--------------------------------------+-------------------------+
+ | 3e54c8a2-1e50-455e-89a0-96bb52876c35 | default_share_flashblade | public | - | driver_handles_share_servers : False | snapshot_support : True |
+ +--------------------------------------+--------------------------+------------+------------+--------------------------------------+-------------------------+
+
+Create a NFS share using the FlashBlade back end:
+
+.. code-block:: console
+
+ $ openstack share create --name <myflashbladeshare \
+ --description "My Manila share" \
+ --share-type default_share_flashblade \
+ NFS 1
+
+Verify Operation:
+
+.. code-block:: console
+
+ $ openstack share list
+
+ +--------------------------------------+-------------------+------+-------------+-----------+-----------+--------------------------+-----------------+-------------------+
+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone |
+ +--------------------------------------+-------------------+------+-------------+-----------+-----------+--------------------------+-----------------+-------------------+
+ | 721c0a6d-eea6-41af-8c10-72cd98985203 | myflashbladeshare | 1 | NFS | available | False | default_share_flashblade | control@fb1#FB1 | nova |
+ +--------------------------------------+-------------------+------+-------------+-----------+-----------+--------------------------+-----------------+-------------------+
+
+.. code-block:: console
+
+ $ openstack share show myflashbladeshare
+
+ +-----------------------------+-----------------------------------------------------------------+
+ | Property | Value |
+ +-----------------------------+-----------------------------------------------------------------+
+ | status | available |
+ | share_type_name | default_share_flashblade |
+ | description | My Manila share |
+ | availability_zone | nova |
+ | share_network_id | None |
+ | export_locations | |
+ | | path = 172.24.53.1:/shares/45ed6670-688b-4cf0-bfe7-34956648fb84 |
+ | | preferred = False |
+ | | is_admin_only = False |
+ | | id = e81e716f-f1bd-47b2-8a56-2c2f9e33a98e |
+ | | share_instance_id = 45ed6670-688b-4cf0-bfe7-34956648fb84 |
+ | share_server_id | None |
+ | host | control@fb1#FB1 |
+ | access_rules_status | active |
+ | snapshot_id | None |
+ | is_public | False |
+ | task_state | None |
+ | snapshot_support | True |
+ | id | 721c0a6d-eea6-41af-8c10-72cd98985203 |
+ | size | 1 |
+ | user_id | ba7f6d543713488786b4b8cb093e7873 |
+ | name | myflashbladeshare |
+ | share_type | 3e54c8a2-1e50-455e-89a0-96bb52876c35 |
+ | has_replicas | False |
+ | replication_type | None |
+ | created_at | 2016-10-14T14:50:47.000000 |
+ | share_proto | NFS |
+ | consistency_group_id | None |
+ | source_cgsnapshot_member_id | None |
+ | project_id | c3810d8bcc3346d0bdc8100b09abbbf1 |
+ | metadata | {} |
+ +-----------------------------+-----------------------------------------------------------------+
+
+.. _flashblade_configure_multiple_back_ends:
+
+Configure multiple back ends
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+An administrator can configure an instance of Manila to provision shares from
+one or more back ends. Each back end leverages an instance of a vendor-specific
+implementation of the Manila driver API.
+
+The name of the back end is declared as a configuration option
+share_backend_name within a particular configuration stanza that contains the
+related configuration options for that back end.
+
+So, in the case of an multiple back ends deployment, it is necessary to change
+the default share backends before deployment.
+
+Modify the file ``/etc/kolla/config/manila.conf`` and add the contents:
+
+.. path /etc/kolla/config/manila.conf
+.. code-block:: ini
+
+ [DEFAULT]
+ enabled_share_backends = generic,fb1,fb2
+
+Modify the file ``/etc/kolla/config/manila-share.conf`` and add the contents:
+
+.. path /etc/kolla/config/manila-share.conf
+.. code-block:: ini
+
+ [generic]
+ share_driver = manila.share.drivers.generic.GenericShareDriver
+ interface_driver = manila.network.linux.interface.OVSInterfaceDriver
+ driver_handles_share_servers = True
+ service_instance_password = manila
+ service_instance_user = manila
+ service_image_name = manila-service-image
+ share_backend_name = GENERIC
+
+ [fb1]
+ share_backend_name = FB1
+ share_driver = manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver
+ driver_handles_share_servers = False
+ flashblade_mgmt_vip = <fb1_mgmt_ip>
+ flashblade_data_vip = <fb1_data_ip>
+ flashblade_api = <FB1 API token>
+
+ [fb2]
+ share_backend_name = FB2
+ share_driver = manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver
+ driver_handles_share_servers = False
+ flashblade_mgmt_vip = <fb2_mgmt_ip>
+ flashblade_data_vip = <fb2_data_ip>
+ flashblade_api = <FB2 API token>
+
+For more information about how to manage shares, see the
+:manila-doc:`Manage shares <user/create-and-manage-shares.html>`.
+
+For details on how to use the Pure Storage FlashBlade, refer to the
+`Pure Storage Manila Reference Guide <https://docs.openstack.org/manila/latest/configuration/shared-file-systems/drivers/purestorage-flashblade-driver.html>`_.
+
+The use of this backend requires that the ``purity_fb`` SDK package is
+installed in the ``manila-share`` container. To do this follow the steps
+outlined in the `kolla image building guide <https://docs.openstack.org/kolla/latest/admin/image-building.html>`_
+particularly the ``Package Customisation`` and ``Custom Repos`` sections.