The LenovoFCDriver and LenovoISCSIDriver Cinder drivers allow Lenovo S3200 or S2200 arrays to be used for block storage in OpenStack deployments.
To use the Lenovo drivers, the following are required:
Verify that the array can be managed using an HTTPS connection. HTTP can also be used if lenovo_api_protocol=http is placed into the appropriate sections of the cinder.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 in key=value format.
In the examples below, two back ends are defined, one for pool A and one for pool B, and a common volume_backend_name is used so that a single volume type definition can be used to allocate volumes from both pools.
Example: iSCSI example back-end entries
[pool-a]
lenovo_backend_name = A
volume_backend_name = lenovo-array
volume_driver = cinder.volume.drivers.lenovo.lenovo_iscsi.LenovoISCSIDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
lenovo_iscsi_ips = 10.2.3.4,10.2.3.5
[pool-b]
lenovo_backend_name = B
volume_backend_name = lenovo-array
volume_driver = cinder.volume.drivers.lenovo.lenovo_iscsi.LenovoISCSIDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
lenovo_iscsi_ips = 10.2.3.4,10.2.3.5
Example: Fibre Channel example back-end entries
[pool-a]
lenovo_backend_name = A
volume_backend_name = lenovo-array
volume_driver = cinder.volume.drivers.lenovo.lenovo_fc.LenovoFCDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
[pool-b]
lenovo_backend_name = B
volume_backend_name = lenovo-array
volume_driver = cinder.volume.drivers.lenovo.lenovo_fc.LenovoFCDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
If HTTPS is not enabled in the array, include lenovo_api_protocol = http in each of the back-end definitions.
If HTTPS is enabled, you can enable certificate verification with the option lenovo_verify_certificate=True. You may also use the lenovo_verify_certificate_path parameter to specify the path to a CA_BUNDLE file containing CAs other than those in the default list.
Modify the [DEFAULT] section of the cinder.conf file to add an enabled_backends parameter specifying the back-end entries you added, and a default_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 = lenovo
...
Create a new volume type for each distinct volume_backend_name value that you added to the cinder.conf file. The example below assumes that the same volume_backend_name=lenovo-array option was specified in all of the entries, and specifies that the volume type lenovo can be used to allocate volumes from any of them.
Example: Creating a volume type
$ cinder type-create lenovo
$ cinder type-key lenovo set volume_backend_name=lenovo-array
After modifying the cinder.conf file, restart the cinder-volume service.
The following table contains the configuration options that are specific to the Lenovo drivers.
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
lenovo_api_protocol = https | (String) Lenovo api interface protocol. |
lenovo_backend_name = A | (String) Pool or Vdisk name to use for volume creation. |
lenovo_backend_type = virtual | (String) linear (for VDisk) or virtual (for Pool). |
lenovo_iscsi_ips = | (List) List of comma-separated target iSCSI IP addresses. |
lenovo_verify_certificate = False | (Boolean) Whether to verify Lenovo array SSL certificate. |
lenovo_verify_certificate_path = None | (String) Lenovo array SSL certificate path. |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.