Third Party Array Support in ViPR Through OpenStack

OpenStack, the truly open cloud operating system, has been evolving since 2010. Since its inception, there have been many projects contributing to the growth of the OpenStack ecosystem. One of them, project code name “Cinder,” provides block storage capability. Any vendor who would like to enable block storage capability for their proprietary storage system is developing the Cinder plugin or Cinder driver. Here is the list of vendors who have developed the Cinder plugin.

EMC ViPR – the first software-defined storage platform of its kind – has been in the news since 2013 and is continuously adding new features to keep it ahead of the competition. A distinguishing feature of ViPR is its ability to support multi-vendor storage systems. In order to extend support for many new storage vendors, ViPR is always looking to enhance its support matrix by adding new storage systems to the support list. Traditionally, adding new storage systems to the list means that EMC, as well as third party vendors are writing new native drivers. This requires a lot of man hours and effort. But what if they could leverage what exists already and save a lot of the time and effort? That would make a lot of sense, right?

Because of this, many storage vendors have embraced OpenStack and they have already qualified their storage to work in the OpenStack environment by developing a Cinder plugin/driver for their storage. While ViPR has had integration with OpenStack from it’s first release via the northbound integration to provision storage from OpenStack via ViPR (you can read all about it in my last blog post) , ViPR now leverages Cinder to extend third party array support and provide customers with extended capabilities across their storage environment. Today, starting with ViPR 2.0, the Southbound integration is now available and it provisions storage from ViPR via Cinder as opposed to what is supported in the ViPR Cinder Driver.

The following diagram helps you to understand the ViPR Southbound integration with OpenStack.

Hallur_Image_`
Essentially ViPR talks to OpenStack Cinder service by consuming the exposed Cinder REST API. ViPR discovers every Cinder backend configured in the cinder.conf on Cinder node as a storage system. Any volume type created for the backend will be discovered as a storage pool for that particular storage system. This means Cinder’s backend is modelled as storage system and volume type as a storage pool in ViPR. In a nutshell this is how ViPR integrates with OpenStack.

Now, you can ask me, “what is the advantage of such integration with OpenStack?”

I would answer that there are multiple advantages:

  1. ViPR’s Third party array support (multi-vendor) gets expanded.
  2. The moment a new vendor gets added to the list of Cinder plugins, ViPR gets on the fly integration of the new third party array. This means no further effort is required on the ViPR side to claim new vendor array support. Theoretically, any new Cinder plugin that gets added will have seamless support in ViPR too.
  3. If vendors running OpenStack would like to use ViPR to manage the storage for its enhanced feature set, then the transition is smoother as ViPR already talks to OpenStack. It just brings up ViPR and plugs it in with OpenStack.

Having understood the background of integration and some of the advantages of such integration, now let’s look at how to get the manageability of the third party array into ViPR through Cinder.

First of all we should have the OpenStack node running bare minimum services keystone and Cinder services. If you would like to have UI access to the OpenStack node, other services like Horizon could also be installed. One could choose to install complete OpenStack (with all services), but it is really not recommended. There is an OVA built with bare minimum services required for ViPR and OpenStack integration. You could use this or build a node using www.devstack.org or by following installation instructions at www.openstack.org. To understand complete details of how to manage the third party storage in ViPR through Cinder, please visit the ViPR Community.

With this solution, EMC has opened up wider options for storage management. ViPR has been creating great traction with customers and many partners are evaluating the ViPR and OpenStack solution. For a test drive you can download the EMC ViPR controller here. If you are looking to learn more or need help on how to deploy ViPR with OpenStack, feel free to drop me a note at Parashuram.hallur at emc.com. My team and I will help you cruise with ViPR.

About the Author: Parashurham Hallur