
The Sphinx build was issuing hundreds of warning for duplicate labels. The reason for this was because all of the tables we had were named as .rst files. This would cause Sphinx to process them twice and it would think there were duplicated sections. There were two ways this could be handled: 1) Exclude the tables directory from the docs build. 2) Name the files as they should have always been so they weren't build twice. Given that option 1 just masked the problem, I am implementing this patch using option 2. So, all the tables we are including in our documentation have been named from .rst to .inc and the .. include:: directives that use them have also been updated to use the new file name. Change-Id: If395eb652f7e3b789bcbd5e6d6d05954c23d8d8a
5.1 KiB
ZTE volume drivers
The ZTE volume drivers allow ZTE KS3200 or KU5200 arrays to be used for Block Storage in OpenStack deployments.
System requirements
To use the ZTE drivers, the following prerequisites:
- ZTE KS3200 or KU5200 array with:
- iSCSI or FC interfaces
- 30B2 firmware or later
- Network connectivity between the OpenStack host and the array management interfaces
- HTTPS or HTTP must be enabled on the array
Supported operations
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
- Migrate a volume with back-end assistance.
- Retype a volume.
- Manage and unmanage a volume.
Configuring the array
Verify that the array can be managed using an HTTPS connection. HTTP can also be used if
zte_api_protocol=http
is placed into the appropriate sections of thecinder.conf
file.Confirm that virtual pools A and B are present if you plan to use virtual pools for OpenStack storage.
Edit the
cinder.conf
file to define a storage back-end entry for each storage pool on the array that will be managed by OpenStack. Each entry consists of a unique section name, surrounded by square brackets, followed by options specified inkey=value
format.- The
zte_backend_name
value specifies the name of the storage pool on the array. - The
volume_backend_name
option value can be a unique value, if you wish to be able to assign volumes to a specific storage pool on the array, or a name that is shared among multiple storage pools to let the volume scheduler choose where new volumes are allocated. - The rest of the options will be repeated for each storage pool in a
given array: the appropriate cinder driver name, IP address or host name
of the array management interface; the username and password of an array
user account with
manage
privileges; and the iSCSI IP addresses for the array if using the iSCSI transport protocol.
In the examples below, two back ends are defined, one for pool A and one for pool B, and a common
volume_backend_name
. Use this for a single volume type definition can be used to allocate volumes from both pools.Example: iSCSI back-end entries
[pool-a] zte_backend_name = A volume_backend_name = zte-array volume_driver = cinder.volume.drivers.zte.zte_iscsi.ZTEISCSIDriver san_ip = 10.1.2.3 san_login = manage san_password = !manage zte_iscsi_ips = 10.2.3.4,10.2.3.5 [pool-b] zte_backend_name = B volume_backend_name = zte-array volume_driver = cinder.volume.drivers.zte.zte_iscsi.ZTEISCSIDriver san_ip = 10.1.2.3 san_login = manage san_password = !manage zte_iscsi_ips = 10.2.3.4,10.2.3.5
Example: Fibre Channel back end entries
[pool-a] zte_backend_name = A volume_backend_name = zte-array volume_driver = cinder.volume.drivers.zte.zte_fc.ZTEFCDriver san_ip = 10.1.2.3 san_login = manage san_password = !manage [pool-b] zte_backend_name = B volume_backend_name = zte-array volume_driver = cinder.volume.drivers.zte.zte_fc.ZTEFCDriver san_ip = 10.1.2.3 san_login = manage san_password = !manage
- The
If HTTPS is not enabled in the array, include
zte_api_protocol = http
in each of the back-end definitions.If HTTPS is enabled, you can enable certificate verification with the option
zte_verify_certificate=True
. You may also use thezte_verify_certificate_path
parameter to specify the path to aCA_BUNDLE
file containing CAs other than those in the default list.Modify the
[DEFAULT]
section of thecinder.conf
file to add anenabled_backends
parameter specifying the back-end entries you added, and adefault_volume_type
parameter specifying the name of a volume type that you will create in the next step.Example: [DEFAULT] section changes
[DEFAULT] # ... enabled_backends = pool-a,pool-b default_volume_type = zte
Create a new volume type for each distinct
volume_backend_name
value that you added to thecinder.conf
file. The example below assumes that the samevolume_backend_name=zte-array
option was specified in all of the entries, and specifies that the volume typezte
can be used to allocate volumes from any of them.Example: Creating a volume type
$ openstack volume type create zte $ openstack volume type set --property volume_backend_name=zte-array zte
After modifying the
cinder.conf
file, restart thecinder-volume
service.
Driver-specific options
The following table contains the configuration options that are specific to the ZTE drivers.