Skip to content

Commit 33f65ad

Browse files
committed
Add RHOSP 16.2 to Xena
1 parent f2daaa4 commit 33f65ad

File tree

2 files changed

+236
-0
lines changed

2 files changed

+236
-0
lines changed

source/cinder/configuration/ch_cinder-conf.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ Cinder Configuration Files
1010
cinder_config_files/section_sample_cinder-conf.rst
1111
cinder_config_files/section_rhosp16_director_flasharray_configuration.rst
1212
cinder_config_files/section_rhosp161_director_flasharray_configuration.rst
13+
cinder_config_files/section_rhosp162_director_flasharray_configuration.rst
14+
cinder_config_files/section_flasharray-conf-train.rst
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
Deploying Pure Storage FlashArray Cinder driver in a Red Hat OpenStack Platform 16.2
2+
====================================================================================
3+
4+
.. _purestorage-flsharray-rhosp162:
5+
6+
Overview
7+
--------
8+
9+
This guide shows how to configure and deploy the Pure Storage FlashArray Cinder driver in a
10+
**Red Hat OpenStack Platform (RHOSP) 16.2** Overcloud, using RHOSP Director.
11+
After reading this, you'll be able to define the proper environment files and
12+
deploy single or multiple FlashArray Cinder back ends in RHOSP Overcloud Controller
13+
nodes.
14+
15+
.. note::
16+
17+
For more information about RHOSP, please refer to its `documentation pages
18+
<https://access.redhat.com/documentation/en-us/red_hat_openstack_platform>`_.
19+
20+
.. warning::
21+
22+
RHOSP16.2 is based on OpenStack Train release. Features included after Train
23+
release are not available in RHOSP16.2.
24+
25+
Requirements
26+
------------
27+
28+
In order to deploy Pure Storage FlashArray Cinder back ends, you should have the
29+
following requirements satisfied:
30+
31+
- Pure Storage FlashArrays deployed and ready to be used as Cinder
32+
back ends. See :ref:`cinder_flasharray_prerequisites` for more details.
33+
34+
- RHOSP Director user credentials to deploy Overcloud.
35+
36+
- RHOSP Overcloud Controller nodes where Cinder services will be installed.
37+
38+
39+
Deployment Steps
40+
----------------
41+
42+
Prepare the environment files
43+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44+
45+
RHOSP makes use of **TripleO Heat Templates (THT)**, which allows you to define
46+
the Overcloud resources by creating environment files.
47+
48+
To ensure that your RHOSP environment is correctly configured for using
49+
Pure Storage FlashArrays obtain a copy of `pure-temp.yaml <https://raw.githubusercontent.com/PureStorage-OpenConnect/tripleo-deployment-configs/master/RHOSP16.2/pure-temp.yaml>`__
50+
and `cinder-pure-config.yaml <https://raw.githubusercontent.com/PureStorage-OpenConnect/tripleo-deployment-configs/master/RHOSP16.2/cinder-pure-config.yaml>`__
51+
and save these in the ``/home/stack/templates``
52+
directory. These will be required when deploying the Overcloud.
53+
54+
Multiple back end configuration
55+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56+
57+
Define Pure Storage Cinder back ends using Custom THT Configuration syntax.
58+
It's possible to define all the back ends in a single environment file by
59+
modifying the `cinder-pure-config.yaml` file as follows:
60+
61+
.. code-block:: yaml
62+
:name: cinder-flasharray-backend1.yaml
63+
64+
parameter_defaults:
65+
CinderPureBackendName:
66+
- tripleo_pure_1
67+
- tripleo_pure_2
68+
CinderPureStorageProtocol: 'iSCSI' # Default value for all Pure backends
69+
CinderPureUseChap: false # Default value for the Pure backends
70+
CinderPureMultiConfig:
71+
tripleo_pure_1:
72+
CinderPureSanIp: '10.0.0.1'
73+
CinderPureAPIToken: 'secret'
74+
tripleo_pure_2:
75+
CinderPureSanIp: '10.0.0.2'
76+
CinderPureAPIToken: 'anothersecret'
77+
CinderPureUseChap: true # Specific value for this backend
78+
79+
Modify the parameter values according to your Pure Storage back end
80+
configuration.
81+
82+
.. note::
83+
84+
You can define arbitrary Custom THT Configurations using the following syntax:
85+
86+
.. code-block:: yaml
87+
:name: custom-config.yaml
88+
89+
parameter_defaults:
90+
ControllerExtraConfig:
91+
cinder::config::cinder_config:
92+
<backend_name>/<configuration_name>:
93+
value: <value>
94+
95+
Each configuration will be rendered in ``cinder.conf`` file as:
96+
97+
.. code-block::
98+
:name: cinder.conf
99+
100+
[backend_name]
101+
configuration_name=value
102+
103+
See `Optional Cinder Configuration Attributes (RHOSP16)
104+
<./section_flasharray-conf-train.html#optional-cinder-configuration-attributes>`_
105+
for a complete list of the available Cinder Configuration Options.
106+
107+
.. warning::
108+
109+
RHOSP16.2 is based on OpenStack Train release. Features and Configuration
110+
Options included after Train release are not available in RHOSP16.2.
111+
112+
113+
Use Certified Pure Storage Cinder Volume Container
114+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
115+
116+
Red Hat requires that you utilize the Certified Pure Storage Cinder Volume
117+
Container when deploying RHOSP16.1 with a Pure Storage FlashArray backend.
118+
119+
This container can be found in the `Red Hat Container Catalog <https://catalog.redhat.com/software/containers/search?q=pure&p=1>`__
120+
and should be stored in a local registry.
121+
122+
Alternatively, you may build your own version of this container and store it
123+
within a local registry.
124+
125+
Follow these steps to build your own version of the Pure Storage Cinder Volume
126+
container:
127+
128+
* Obtain a copy of the `Dockerfile <https://raw.githubusercontent.com/PureStorage-OpenConnect/tripleo-deployment-configs/master/RHOSP16.1/Dockerfile>`__
129+
130+
* Login to the Red Hat registry
131+
132+
.. code-block:: bash
133+
134+
sudo buildah login registry.redhat.io
135+
136+
* Build the podman image
137+
138+
.. code-block:: bash
139+
140+
sudo buildah bud . -t "openstack-cinder-volume-pure:latest"
141+
142+
* Push the new image to a local registry
143+
144+
.. code-block:: bash
145+
146+
sudo openstack tripleo container image push --local <registry:port>/<directory>/openstack-cinder-volume-pure:latest
147+
148+
Create a Custom Environment File
149+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
150+
151+
Create a new environment file ``custom_container_pure.yaml`` in the directory
152+
``/home/stack/templates`` with only the custom container parameter.
153+
154+
.. code-block:: bash
155+
156+
parameter_defaults:
157+
DockerCinderVolumeImage: <registry:port>/<directory>/openstack-cinder-volume-pure:latest
158+
159+
Alternatively, you may edit the container images environment file (usually
160+
``overcloud_images.yaml``, created when the ``openstack overcloud container
161+
image prepare`` command was executed) and change the appropriate
162+
parameter to use the custom container image.
163+
164+
Deploy Overcloud
165+
^^^^^^^^^^^^^^^^
166+
167+
Now that you have the Cinder back end environment files defined, you can run
168+
the command to deploy the RHOSP Overcloud. Run the following command as
169+
the ``stack`` user in the RHOSP Director command line, specifying the
170+
YAML file(s) you defined:
171+
172+
.. code-block:: bash
173+
:name: overcloud-deploy
174+
175+
(undercloud) [stack@rhosp-undercloud ~]$ openstack overcloud deploy \
176+
--templates \
177+
-e /home/stack/cinder-pure-config.yaml \
178+
-e /home/stack/containers-prepare-parameter.yaml \
179+
-e /home/stack/templates/custom_container_pure.yaml \
180+
--stack overcloud
181+
182+
If you modified the container images environment file the
183+
``custom_container_pure.yaml`` option is not required in the above command.
184+
185+
.. note::
186+
Alternatively, you can use ``--environment-directory`` parameter and specify
187+
the whole directory to the deployment command. It will consider all the YAML
188+
files within this directory:
189+
190+
.. code-block:: bash
191+
:name: overcloud-deploy-environment-directory
192+
193+
(undercloud) [stack@rhosp-undercloud ~]$ openstack overcloud deploy \
194+
--templates \
195+
-e /home/stack/containers-prepare-parameter.yaml \
196+
--environment-directory /home/stack/templates \
197+
--stack overcloud
198+
199+
200+
Test the Deployed Back Ends
201+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
202+
203+
After RHOSP Overcloud is deployed, run the following command to check if the
204+
Cinder services are up:
205+
206+
.. code-block:: bash
207+
:name: cinder-service-list
208+
209+
[stack@rhosp-undercloud ~]$ source ~/overcloudrc
210+
(overcloud) [stack@rhosp-undercloud ~]$ cinder service-list
211+
212+
213+
Run the following commands as ``stack`` user in the RHOSP Director command line
214+
to create the volume types mapped to the deployed back ends:
215+
216+
.. code-block:: bash
217+
:name: create-volume-types
218+
219+
[stack@rhosp-undercloud ~]$ source ~/overcloudrc
220+
(overcloud) [stack@rhosp-undercloud ~]$ cinder type-create pure1
221+
(overcloud) [stack@rhosp-undercloud ~]$ cinder type-key pure1 set volume_backend_name=tripleo_pure_1
222+
(overcloud) [stack@rhosp-undercloud ~]$ cinder type-create pure2
223+
(overcloud) [stack@rhosp-undercloud ~]$ cinder type-key pure2 set volume_backend_name=tripleo_pure_2
224+
225+
Make sure that you're able to create Cinder volumes with the configured volume
226+
types:
227+
228+
.. code-block:: bash
229+
:name: create-volumes
230+
231+
[stack@rhosp-undercloud ~]$ source ~/overcloudrc
232+
(overcloud) [stack@rhosp-undercloud ~]$ cinder create --volume-type pure1 --name v1 1
233+
(overcloud) [stack@rhosp-undercloud ~]$ cinder create --volume-type pure2 --name v2 1
234+

0 commit comments

Comments
 (0)