Managing pluggable storage or fabrics
A pluggable storage device is an OpenStack supported storage device. Any storage device supported by an OpenStack driver can be registered with PowerVC, but the level of functionality that it has within PowerVC depends on the driver.
The following steps show how to add a pluggable volume driver. For adding a pluggable fabric driver, the steps are similar.For more information about pluggable storage functionality, see Functions available on pluggable and integrated storage drivers.
Obtain the OpenStack
Yoga-compatible driver installable, documentation, and any dependencies from GitHub.
- Check if the OpenStack compatible driver is shipped with PowerVC. On the PowerVC management server, check the /usr/lib/python3.9/site-packages/cinder/volume/drivers location. If the driver exists there after the installation of PowerVC, then it is already available at the OpenStack release level that is needed for PowerVC. If the driver does not exist, then continue with the subsequent points here.
- If the driver is a Cinder community driver, run the
gitcommand to clone the stable branch:
git clone --branch stable/yoga https://git.openstack.org/openstack/cinder.gitCopy the driver directory and its contents from cinder/cinder/volume/drivers/ to /usr/lib/python3.9/site-packages/cinder/volume/drivers.Notes:
- The cinder operating system user (created by the PowerVC installation process) must have read and execute permissions on the entire directory path up to the module containing the driver. The cinder user must have read permission on the module file itself.
- Make sure that there are no conflicting directory or module names. For example, you cannot
have a directory called
mydriverand a file module called
mydriver.pyin the same directory as those names will conflict.
- If the storage driver is not in the Cinder community, follow the vendor's instructions for downloading and installing the storage driver.
Review the dependencies listed for the driver. For any dependencies that PowerVC does not meet, install and configure them
in accordance with the driver's instructions.
To determine the driver's dependencies, review the OpenStack Cinder driver documentation.
To determine whether the dependencies are already met by PowerVC, run
rpm -aqand review the output.
Prepare a properties file for use with the
powervc-registercommand by creating a file with a section called
backend_defaults, followed by any driver specific key/value pairs. The OpenStack driver documentation might list properties that should be set in /etc/cinder/cinder.conf or /etc/cinder/fabrics.conf. Do not modify the /etc/cinder/cinder.conf or /etc/cinder/fabrics.conf file directly. Instead, put all of the driver specific configuration properties in the properties file that is passed to the command.Note: Do not set the following properties in the properties file because they will be overridden by the arguments specified on the command line:Example
[backend_defaults] san_password = passw0rd san_login = svcuser san_ip = 18.104.22.168 storwize_svc_volpool_name = pool_0
Register the storage driver by running the powervc-register command:
powervc-register -o add -r resource_type -d volume_driver -n display_name -p properties_fileThe command uses the following parameters:
fabricas the resource type, as appropriate.
- The path to the volume driver's Python class. If the driver exists in the standard location,
this value may be documented by the OpenStack
driver. Otherwise, it depends on where you placed the module. For example,
- Optional: The driver's display name
- The file used to specify the device specific configuration properties.
powervc-register -o add -r storage -d cinder.volume.drivers.ibm.storwize_svc.storwize_svc_fc.StorwizeSVCFCDriver -n svc-fc-storage -p /tmp/svc_properties.conf
If you already have a pluggable driver that is registered with PowerVC and the pluggable driver module was not updated when the PowerVC version was updated, then you might need to download a new version of the driver to replace the old file. For example, if you update PowerVC to version 2.1.1, then you must have a OpenStack Yoga level of the registered pluggable driver.