https://github.com/purestorage-openconnect/tripleo-deployment-configs
Files required for RHEL OpenStack Platform Cinder integration for Pure Storage FlashArray
https://github.com/purestorage-openconnect/tripleo-deployment-configs
openstack openstack-cinder purestorage tripleo
Last synced: 9 months ago
JSON representation
Files required for RHEL OpenStack Platform Cinder integration for Pure Storage FlashArray
- Host: GitHub
- URL: https://github.com/purestorage-openconnect/tripleo-deployment-configs
- Owner: PureStorage-OpenConnect
- License: apache-2.0
- Created: 2016-11-02T15:46:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-06-19T16:14:02.000Z (12 months ago)
- Last Synced: 2025-08-18T15:52:58.406Z (10 months ago)
- Topics: openstack, openstack-cinder, purestorage, tripleo
- Language: Dockerfile
- Homepage:
- Size: 3.33 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
**NOTE: All RHOSO18 Documentation is located** `here `_.
Introduction
============
This document covers the configuration process required to enable a
single Pure Storage array to be used as an iSCSI or Fibre Channel
Cinder Block Storage backend in Red Hat OpenStack Platform distributions.
The following items are assumed by this document:
- Ensure your Red Hat OpenStack Platform Overcloud has been correctly
deployed through the Director, with a correctly functioning Block
Storage service.
- Your Pure Storage Array should be available in the cloud management
network or routed to the cloud management network with the Pure
Storage iSCSI ports correctly configured, if using this protocol.
- The Pure Storage management IP must have connectivity from the Cinder
Volume Service controller.
- The Pure Storage iSCSI ports (if applicable) must have connectivity
from the Cinder Volume Service controller and all compute nodes.
- You have obtained a privileged API token from the Pure Storage
FlashArray that will be used by OpenStack Cinder Volume service.
When RHEL OpenStack Platform is deployed through the Director, all
major Overcloud settings must be defined and orchestrated through the
Director as well. This will ensure that the settings persist through any
Overcloud updates.
This document will not discuss the different deployment configurations
possible with the backend. To learn more about these see the OpenStack
Best Practises documents provided by Pure Storage.
Configure Pure Storage as a Cinder backend
==========================================
RHEL OpenStack Platform includes all the drivers and puppet manifests
required for the Pure Storage FlashArray, however, there are a number of
environment files required to be added to your Undercloud for full
integration of the FlashArray into your Overcloud.
The YAML environment files required can be found on the Pure Storage OpenConnect
GitHub repository
https://github.com/PureStorage-OpenConnect/tripleo-deployment-configs.
Select the correct sub-directory for the deployment version you are using.
RHOSP 8 and 9
=============
**NOTE: Red Hat OpenStack Platform 8 and 9 are no longer supported by Red Hat or Pure Storage.**
Obtain the YAML files from this repository and copy into the following
locations in your Undercloud:
- ``pure-controller-temp.yaml``, ``pure-temp.yaml`` and ``cinder-pure-config.yaml`` into ``~stack/templates/``
- ``cinder-pure.yaml`` into ``/usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/``
RHOSP 10
========
**NOTE: Red Hat OpenStack Platform 10 is still supported by Red Hat and Pure Storage.**
**Red Hat Openstack 10 is only supported with Red Hat Enterprise Linux 7.7**
**Red Hat and Pure Storage will not support Red Hat Openstack 10 after December 15, 2021.**
Obtain the YAML files from this repository and copy into the following
locations in your Undercloud:
- ``pure-controller-temp.yaml``, ``pure-temp.yaml`` and ``cinder-pure-config.yaml`` into ``~stack/templates/``
- ``cinder-pure.yaml`` into ``/usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/``
RHOSP 13
========
**NOTE: Red Hat OpenStack Platform 13 went End of Life on June 27, 2021 and entered Extended Support at this date. RHOSP 13 will not be supported by Red Hat or Pure Storage after June 27, 2023.**
Copy the YAML files from this subdirectory into the following
locations in your Undercloud:
- ``pure-temp.yaml`` and ``cinder-pure-config.yaml`` into ``~stack/templates/``
Use the ``Dockerfile`` to create a Pure Storage specific Cinder Volume
container::
$ docker build .
This newly created image can then be pushed to a registry that has been configured
as the sources of images to be used by the RHOSP deployment.
Red Hat Certified versions of these containers can also be used. These can be found
in the Red Hat Container Catalog. See https://catalog.redhat.com/software/containers/search?q=pure&p=1
Edit the overcloud container images environment file (usually
``overcloud_images.yaml``, created when using the
``openstack overcloud container image prepare`` command) and change the
appropriate parameter to use the custom container image.
RHOSP 14 and 15
===============
**NOTE: Red Hat OpenStack Platform 14 and 15 are no longer supported by Red Hat or Pure Storage.**
Copy the YAML files from this subdirectory into the following
locations in your Undercloud:
- ``pure-temp.yaml`` and ``cinder-pure-config.yaml`` into ``~stack/templates/``
Use the ``Dockerfile`` to create a Pure Storage specific Cinder Volume
container::
$ docker build .
This newly created image can then be pushed to a registry that has been configured
as the sources of images to be used by the RHOSP deployment.
Red Hat Certified versions of these containers can also be used. These can be found
in the Red Hat Container Catalog. See https://catalog.redhat.com/software/containers/search?q=pure&p=1
Edit the overcloud container images environment file (usually
``overcloud_images.yaml``, created when using the
``openstack overcloud container image prepare`` command) and change the
appropriate parameter to use the custom container image.
RHOSP 16 (RHEL8)
================
**NOTE:**
**Red Hat Openstack 16.0 is no longer supported by Red Hat and Pure Storage.**
**Red Hat OpenStack 16.1 is only supported with Red Hat Enterprise Linux 8.2. Red Hat and Pure Storage will not support Red Hat Openstack 16.1 with Red Hat Enterprise Linux 8.2 after April 30, 2024**
**Red Hat OpenStack 16.2 is only supported with Red Hat Enterprise Linux 8.4.**
Copy the YAML files from this subdirectory into the following
locations in your Undercloud:
- ``pure-temp.yaml`` and ``cinder-pure-config.yaml`` into ``~stack/templates/``
Use the ``Dockerfile`` to create a Pure Storage specific Cinder Volume
container::
$ sudo buildah bud . -t "openstack-cinder-volume-pure:latest"
This newly created image can then be pushed to a local registry that has been configured
as the sources of images to be used by the RHOSP deployment::
$ sudo openstack tripleo container image push --local //openstack-cinder-volume-pure:latest
Red Hat Certified versions of these containers can also be used. These can be found
in the Red Hat Container Catalog. See https://catalog.redhat.com/software/containers/search?q=pure&p=1
Edit the overcloud container images environment file (usually
``overcloud_images.yaml``, created when using the
``openstack overcloud container image prepare`` command) and change the
appropriate parameter to use the custom container image.
RHOSP 17 (RHEL8)
================
Copy the YAML files from this subdirectory into the following
locations in your Undercloud:
- ``pure-temp.yaml`` and ``cinder-pure-config.yaml`` into ``~stack/templates/``
Use the ``Dockerfile`` to create a Pure Storage specific Cinder Volume
container::
$ sudo buildah bud . -t "openstack-cinder-volume-pure:latest"
This newly created image can then be pushed to a local registry that has been configured
as the sources of images to be used by the RHOSP deployment::
$ sudo openstack tripleo container image push --local //openstack-cinder-volume-pure:latest
Red Hat Certified versions of these containers can also be used. These can be found
in the Red Hat Container Catalog. See https://catalog.redhat.com/software/containers/search?q=pure&p=1
Edit the overcloud container images environment file (usually
``overcloud_images.yaml``, created when using the
``openstack overcloud container image prepare`` command) and change the
appropriate parameter to use the custom container image.
All versions - Configure the Environment File
=============================================
Edit ``~/templates/cinder-pure-config.yaml`` and populate it with your specific
FlashArray data.
In the ``parameter_defaults`` section of this file add the management
virtual IP address of your FlashArray into the ``CinderPureSanIp`` parameter
and the API Token you had from your FlashArray into the
``CinderPureAPIToken`` parameter.
Optionally, you can configure your FlashArray to use the iSCSI CHAP
security protocol by changing the default parameter setting of false to
be true in the parameter ``CinderPureUseChap``.
Multiple Backends
#################
If you wish to create multiple Pure backends then use ``CinderPureMultiConfig``
when modifying the ``~/templates/cinder-pure-config.yaml`` as follows:::
parameter_defaults:
CinderPureBackendName:
- tripleo_pure_1
- tripleo_pure_2
CinderPureStorageProtocol: 'iSCSI' # Default value for all Pure backends
CinderPureUseChap: false # Default value for the Pure backends
CinderPureMultiConfig:
tripleo_pure_1:
CinderPureSanIp: '10.0.0.1'
CinderPureAPIToken: 'secret'
tripleo_pure_2:
CinderPureSanIp: '10.0.0.2'
CinderPureAPIToken: 'anothersecret'
CinderPureUseChap: true # Specific value for this backend
Requirements
============
To deploy the Pure Storage FlashArray Cinder driver you must meet the following
requirements:
- Pure Storage FlashArrays deployed and ready to be used as Cinderbackends
- RHOSP Director user credentials to deploy the Overcloud
- RHOSP Overcloud Controller nodes where the Cinder services will be installed
Deploying the Configured Backend
================================
To deploy the single backend configured above, first, log in as the
stack user to the Undercloud. Then deploy the backend (defined in the
edited ``~/templates/cinder-pure-config.yaml``) by running the
``openstack overcloud deploy`` with the required switches for your
deployment version together with an additonal templates file defined
by ``–e ~/templates/cinder-pure-config.yaml``::
$ openstack overcloud deploy --templates -e ~/templates/cinder-pure-config.yaml
If you passed any extra environment files when you created the Overcloud
you must pass them again here using the ``–e`` option to avoid making
undesired changes to the Overcloud.
Test the Configured Backend
===========================
After deploying the backend, test whether you can successfully create
volumes on it. Doing so will require loading the necessary environment
variables first. These variables are defined in ``/home/stack/overcloudrc``
by default.
To load these variables, run the following command as the stack user::
$ source /home/stack/overcloudrc
You should now be logged into the Controller node. From there you can
create a *volume type*, which can be used to specify the back end you
want to use (in this case the newly-defined backend). This is required
in an OpenStack deployment where you have other backends enabled.
To create a volume type named pure, run::
$ cinder type-create pure
Next, map this volume type to the backend defined above and given the
backend name ``tripleo_pure`` (as defined in through the
**CinderPureBackendName** parameter) by running::
$ cinder type-key pure set volume_backend_name=tripleo_pure
You should now be able to create a 2GB volume on your newly defined
backend by invoking its volume type. To do this run::
$ cinder create --volume-type pure 2