How is NetApp integrating with oVirt and RHEV?

Hi folks, this is the 3rd in a series of posts where I talk about NetApp’s involvement with oVirt and RHEV. Previously I talked about how NetApp got involved in the first place, followed up by why NetApp is involved, and today I will conclude with what it is that we’re actually doing.Most, if not all of what I’m going to cover here comes from what I presented at the oVirt Workshop during LinuxCon in San Diego a few weeks ago. As a side note, if you haven’t been to LinuxCon, I highly recommend it. The content, speakers, and activities are all great – not to mention that it’s still a relatively small event (~1000). Anyway, let’s dive into some specific integrations that we’re working on.

The first area of integration is with oVirt-engine/RHEV-M. I’ve talked at length about the importance of offloading storage activities like cloning VMs for rapid deployment. I’ve also talked about streamlining the number of tools necessary to advance through (what should be) simple workflows, such as provisioning new storage. Enter the plug-in framework that is under construction by some of the core oVirt committers. The idea is simple, instead of having to write monolithic applications that have to be recreated with each update, create a plug-in framework that allows API’s to communicate instead.

In our case, we’re creating a plugin that has the following initial goals:

  • A NetApp tab – This is exactly what it sounds like. When the NetApp plug-in is installed, it will place a “NetApp” tab in the storage page of oVirt-engine/RHEV-M. This will contain many of the initial and future tools for doing things like discover & manage NetApp controllers, provision new storage (SAN & NAS) right from oVirt/RHEV-M, and eventually auto-configure/confirm storage best practices. We’ve got a ways to go, but work is underway.
  • Context Specific Menus – This will allow for context specific actions to be taken. For example, when “right-clicking” on an existing virtual machine there will be the option to “NetApp Clone” the VM, thereby offloading the cloning from the hypervisor to the storage array. A similar action is planned for cloning offload of entire data stores
  • Tasks & Workflows – As I mentioned earlier in the post, there’s value in reducing the number of tools necessary to execute a workflow. For example, in order to grow storage for an existing VM datastore, currently you might have to:
  1. Log into the NetApp Systems Manager tool or NetApp Filer View tool
  2. Locate the export or LUN that needs to grow (trivial, but still an additional step)
  3. Walk through a separate workflow to grow the volume or LUN (again it’s trivial, but an additional step)
  4. Exit the NetApp tool
  5. Log into the oVirt-engine or RHEV-M
  6. Go to the the storage tab
  7. Identify the data store that needs to grow and either confirm the export is bigger, or extend the LUN

Here’s what we’re aiming for:

  1. Log into oVirt-engine/RHEV-M
  2. Identify data store that needs to grow
  3. Right click on the data store, select “Grow NetApp Storage” (or similar)
  4. Walk through simple workflow (new size, confirm, done)

One tool, one workflow. Let the integration do the heavy lifting. This ultimately means that Senior Engineers/Admins can leave specific change management instructions to others with proper RBAC credentials to handle. It takes less time and there is less room for error. In keeping inline with our other virtualization integrations, this will likely be referred to as the Virtual Storage Console.

The other thing that I’ve covered at Red Hat Summit, LinuxCon, and this blog is the work that we’re doing with “Snap Creator”. Check out some of my earlier posts for a little more in depth explanation, or go to Snap Creator is a flexible and powerful backup and recovery framework. Essentially, the magic comes from the plug-in architecture as well as the ease of configuring otherwise complicated backup scenarios.

There are several plug-ins available for applications like MySQL, Oracle, and Zimbra. Earlier this year we released a plugin specifically for KVM, and there are plans to create one specifically for oVirt/RHEV. The Snap Creator framework and plugins allow for coordinating the quiescing of applications and virtual machines with NetApp storage for backup, recovery, and a number of other activities.

The plug-ins (both for oVirt/RHEV and Snap Creator) themselves will be open source and you can track progress in the dev lists for oVirt. This isn’t all for the plans, but this is what I can share with all of you for now. I promise to keep things updated as we move forward.

Hope this helps,

Captain KVM


7 thoughts on “How is NetApp integrating with oVirt and RHEV?”

  1. Hi CaptainKVM,
    Few questions on the approaches taken by Netapp in storage integration with oVirt/RHEV. I was in LinuxCon EU last week and I presented in oVirt workshop 🙂 on “Integrating GlusterFS as a storage domain in VDSM and exploiting storage offloads from VDSM”. With respect to that, I have few questions….
    1) Is the oVirt UI plugin way of doing things to exploit storage offload really the right way to do things ? Per my discussion with some fellow VDSM folks and from the general sense of the community, it looks like usign libStorageMgmt w/ VDSM or adding support in VDSM to manage storage arrays is the right way to do things. oVirt UI plugin does things out-of-band of VDSM which didn’t get quite a welcome.

    2) Netapp IIRC also showcased a PoC/hack way of integrating storage offloads in VDSM in the RH summit (?). Per the community libStorageMgmt and/or repository engines is the right way to do such stuff in VDSM.. both are still being baked and probably are not yet ready for consumption.

    So its a bit confusing for me to see these different approaches of doing thigns by Netapp Vs what the community is thinking or going towards.

    Deepak C Shetty
    P.S. i hope to enter & win the “Curiosity” contest 😉

    (address removed for privacy)

    1. Deepak,

      First and foremost, congratulations! You are the first official winner of the “Show your curiosity and win a Curiosity” contest! I will get your Hot Wheels Mars Rover Curiosity prize out to you as soon as possible.

      Now on to your excellent questions. The short answer is that we’re going to do both, but the UI method will be introduced first. Yes, cloning offload is a big part of this, but so is discovering/provisioning storage from oVirt Engine/RHEV-M. The UI will provide both. We do have plans to hard code the offload into VDSM, just like the PoC demo that I’ve shown multiple times, it’s just a matter of resources. If I had it my way, I would hire 20 coders and put them on this type of work. But it’s not up to me, so I only have a few folks and they’re working very hard on this.

      In the end, this will provide our end consumers choice – would you rather go thru the oVirt/RHEV UI for your virt admins or would you rather have it hardcoded to ease automation? We definitely want to do both.

      Hope this helps & thanks for dropping by!

      Captain KVM

      1. Hey,

        as i allready asked on twitter: “Is there still a oVirt Plugin available”?

        Short answer = no, but why would be really nice to know.

        Another question, was the old plugin Open Source and is the source code available anywhere?


        1. Hello Kai,

          The oVirt plugin was discontinued some time ago. Essentially, everyone at NetApp that was behind it no longer works there. I went back to Red Hat, Dustin went to NetApp, Ricky went to a start-up… so on and so forth. Also, it wasn’t really marketed properly. I’m certainly not pointing fingers at anyone, it just never took off even though it was very useful.

          It was in fact Open Source and developed upstream in oVirt.. the code is likely still up there somewhere…

          Captain KVM

  2. Hello,

    thanks a lot for your answer. I already asked on the mailing list, but there’s no source code available any more. Could you please ask one of your old colleagues or look at your backup if you could find this plugin and upload it anywhere? That would be very helpful.

    Thanks a lot


    1. Hello Kai,

      I have no backups as I’m not a coder.. I’ll reach out to the colleagues that I still have contact with – the two that lead the coding from the NetApp side. No guarantees on what they might have, but I’ll try. The other thing to consider is that there is a backup/recovery API now.. that is certainly both upstream and downstream.

      Captain KVM

      1. Kai,

        Ok, so I’ve heard back from Dustin and he has neither access nor code. And the only other person that was left at NetApp that worked on the integration now works at Amazon out in Seattle. That means that the NetApp side code is essentially locked up at NetApp..

        Captain KVM

Agree? Disagree? Something to add to the conversation?