[openstack-dev] [nova] New image backend: StorPool
Eric.Young at dell.com
Fri Mar 16 16:27:16 UTC 2018
I can provide some insights from the Dell EMC ScaleIO side.
As you can see from the patch that Matt pointed to, it is possible to add ephemeral/image backend support to Nova. That said, it is not easy and [IMHO] prone to error. There is no ‘driver model’ like there is in Cinder, where you just implement a spec and run tests. You have to go into the Nova code itself and add a whole bunch of logic specific to your backend. Once complete and you have your CI setup to run the Nova test suite, getting reviews complete is tough due to all of the different priorities. You’ll also need to keep an eye on others things going into Nova and be sure that your CI continues to report success.
If I had it to do all over again, I would strongly suggest that developers looking to add ‘yet another backend’ combine their resources and tackle the cleanup of the existing libvirt code as well as the generic Cinder backend support that Matt mentioned.
The patch below, which adds ephemeral/image support for ScaleIo has not yet merged upstream; I am currently working with ScaleIO customers to determine how important it really is. I may find myself volunteering for the generic approach as I think it is a much better route.
On 3/16/18, 12:00 PM, "Matt Riedemann" <mriedemos at gmail.com> wrote:
>On 3/16/2018 10:33 AM, Peter Penchev wrote:
>> Would there be any major opposition to adding a StorPool shared
>> storage image backend, so that our customers are not limited to
>> volume-backed instances? Right now, creating a StorPool volume and
>> snapshot from a Glance image and then booting instances from that
>> snapshot works great, but in some cases, including some provisioning
>> and accounting systems on top of OpenStack, it would be preferable to
>> go the Nova way and let the hypervisor think that it has a local(ish)
>> image to work with, even though it's on shared storage anyway. This
>> will go hand-in-hand with our planned Glance image driver, so that
>> creating a new instance from a Glance image would happen
>> instantaneously (create a StorPool volume from the StorPool snapshot
>> corresponding to the Glance image).
>Ask the EMC ScaleIO team how well this has gone for them:
>There has been a lot of discussion about a generic Cinder image backend
>driver in nova so that we don't need to have the same storage backend
>driver explosion that Cinder has, and we could also then replace the
>nova lvm/rbd image backends and just use Cinder volumes for
>I could find lots of discussion references about this, but basically no
>one is planning to step up to work on that, and the existing libvirt
>imagebackend code is a mess, so piling more backends into the mix isn't
>Anyway, just FYI on all of that history.
>> If this will help the decision, we do have plans for adding a
>> full-blown Nova third-party CI in the near future, so that both our
>> volume attachment driver, this driver, and our upcoming Glance image
>> driver will see some more testing.
>3rd party CI would be a requirement to get it added anyway, it's not
>really an option.
>OpenStack Development Mailing List (not for usage questions)
>Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
More information about the OpenStack-dev