View Only

Using Infinidat storage with PowerVC

By Sri Ram Pisupati posted Tue December 08, 2020 01:13 AM

PowerVC lets you register several storage drivers directly (called integrated storage devices), but it also supports registering pluggable storage devices. A pluggable storage device is just an OpenStack supported storage device.

For more info about pluggable storage, refer to How to register pluggable storage devices to PowerVC blog.

Infinidat storage solves the challenges of OpenStack storage at scale: simplicity, efficiency, reliability, and best-in-class integration. InfiniBox, delivers over 8 petabytes of storage in a pre-integrated standard 42U rack, designed for 99.99999% (seven nines) resiliency, outstanding performance, and great API integration, all with a TCO that is a fraction of typical enterprise storage. To read more about Infinidat storage, please refer Infinidat.

Now let’s see how we can use Infinidat storage with PowerVC.

How to register Infinidat storage to PowerVC

Step 1:
PowerVC version 1.4.4 is built on OpenStack Stein release. If you are running a different version of PowerVC, refer to the Hardware and Software requirements topic in the Knowledge Center to determine the supported release of OpenStack. You can use the dropdown to change to the appropriate version of the topic.

Then, run the git command to clone the stable branch:
[root@jupiter-vm934 ~]# git clone --branch stable/stein
Cloning into 'cinder'...
remote: Enumerating objects: 196601, done.
remote: Counting objects: 100% (196601/196601), done.
remote: Compressing objects: 100% (43304/43304), done.
remote: Total 196601 (delta 151743), reused 185965 (delta 143155)
Receiving objects: 100% (196601/196601), 72.82 MiB | 5.32 MiB/s, done.
Resolving deltas: 100% (151743/151743), done.
[root@jupiter-vm934 ~]# ls | grep cinder

Step 2:

Copy the driver directory and its contents:
cp cinder/cinder/volume/drivers/Infinidat.py

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.
The driver requires the infinisdk package for communicating with InfiniBox systems. Install the package from PyPI using the following command:
pip install infinisdk

Step: 4
Prepare a properties file for use with the powervc-register command by creating a file with a section called backend_defaults.
san_ip = {{ ip }}
san_login = {{ user_login_name }}
san_password = {{ user_login_password }}
san_thin_provision = true
Infinidat_pool_name = {{ pool_name }}
Infinidat_storage_protocol = {{ protocol }}

The OpenStack driver documentation might list properties that should be set in /etc/cinder/cinder.conf. Do not modify cinder.conf directly. Instead, put all of the driver specific configuration properties in the properties file that is passed to the command.

Step 5:
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_file
Here, resource_type is storage.
Detailed command use:
The command uses the following parameters:
Use “storage” or “fabric” as 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.
For instructions to use the command, run powervc-register -h.

Step 6:
powervc-register -o add -r storage -d
cinder.volume.drivers.Infinidat.InfiniboxVolumeDriver -n
Infinidat -p /root/properties_file.conf
After registering you will be able to see storage in PowerVC.

How to deploy virtual machine

Step1: Create Image
Pluggable storage drivers in PowerVC do not support manage of existing volumes. To create a initial image, we can refer to this blog creating-an-initial-image-for-powervc and for installing cloud init, refer to Install cloud-init topic

Then we can use created image for further deploys.

Also we can create and attach more volumes using Infinidat base template to virtual machine:

We have few Limitations on Infinidat storage:
• Current Infinibox Cinder driver version doesn't allow take control over virtual machines created outside of PowerVC.
• Create and edit storage templates by using the PowerVC user interface is not supported.
• Live capture of VM is not supported.
• PowerVC doesn't take extra measures with pluggable drivers to detect volume removal bypassing the standard management interface.
• Storage templates for a pluggable storage device is not supported via PowerVC User interface.

Remove Infinidat storage from PowerVC

To remove storage from PowerVC, we can use same powervc-register CLI command,
powervc-register -o remove -r storage -n display_name


In a nutshell, we have seen how we can effectively use Infinidat storage with PowerVC. If you have any questions about this topic, please comment below.
Watch this space for more information about troubleshooting your environment. In the meantime, don’t forget to follow us on LinkedIn, Facebook, and YouTube.



Thu February 08, 2024 11:08 AM

Hi Alan, 
Based on PowerVC version , cinder code has to be cloned .
Which PowerVC version are you using ? 

For latest release, you may refer this updated PowerVC documentation . 

Thu February 08, 2024 08:20 AM

Does this branch still exist?

c:\GIT>git clone --branch stable/stein https://git.openstack.org/openstack/cinder.git
Cloning into 'cinder'...
warning: redirecting to https://opendev.org/openstack/cinder.git/
fatal: Remote branch stable/stein not found in upstream origin

Wed February 07, 2024 01:38 PM

This is great Sri Ram !!
Is there a version for PowerVC 2.X ? or any other updates ?