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 

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" <mriede...@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 
>volume-backed instances.
>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 
>very attractive.
>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-requ...@lists.openstack.org?subject:unsubscribe
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe

Reply via email to