[openstack-dev] Improvement of Cinder API wrt https://bugs.launchpad.net/nova/+bug/1213953

John Griffith john.griffith at solidfire.com
Tue Nov 12 16:09:02 UTC 2013


On Tue, Nov 12, 2013 at 8:46 AM, Solly Ross <sross at redhat.com> wrote:
> I'd like to get some sort of consensus on this before I start working on it.  Now that people are back from Summit, what would you propose?
>
> Best Regards,
> Solly Ross
>
> ----- Original Message -----
> From: "Solly Ross" <sross at redhat.com>
> To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
> Sent: Tuesday, November 5, 2013 10:40:48 AM
> Subject: Re: [openstack-dev] Improvement of Cinder API wrt https://bugs.launchpad.net/nova/+bug/1213953
>
> Also, that's still an overly complicated process for one or two VMs.  The idea behind the Nova command was to minimize the steps in the image->volume->VM process for a single VM.
>
> ----- Original Message -----
> From: "Chris Friesen" <chris.friesen at windriver.com>
> To: openstack-dev at lists.openstack.org
> Sent: Tuesday, November 5, 2013 9:23:39 AM
> Subject: Re: [openstack-dev] Improvement of Cinder API wrt      https://bugs.launchpad.net/nova/+bug/1213953
>
> Wouldn't you still need variable timeouts?  I'm assuming that copying
> multi-gig cinder volumes might take a while, even if it's local.  (Or
> are you assuming copy-on-write?)
>
> Chris
>
> On 11/05/2013 01:43 AM, Caitlin Bestler wrote:
>> Replication of snapshots is one solution to this.
>>
>> You create a Cinder Volume once. snapshot it. Then replicate to the
>> hosts that need it (this is the piece currently missing). Then you clone
>> there.
>>
>> I will be giving an in an hour in conference session on this and other
>> uses of snapshots in the last time slot Wednesday.
>>
>> On Nov 5, 2013 5:58 AM, "Solly Ross" <sross at redhat.com
>> <mailto:sross at redhat.com>> wrote:
>>
>>     So,
>>     There's currently an outstanding issue with regards to a Nova
>>     shortcut command that creates a volume from an image and then boots
>>     from it in one fell swoop.  The gist of the issue is that there is
>>     currently a set timeout which can time out before the volume
>>     creation has finished (it's designed to time out in case there is an
>>     error), in cases where the image download or volume creation takes
>>     an extended period of time (e.g. under a Gluster backend for Cinder
>>     with certain network conditions).
>>
>>     The proposed solution is a modification to the Cinder API to provide
>>     more detail on what exactly is going on, so that we could
>>     programmatically tune the timeout.  My initial thought is to create
>>     a new column in the Volume table called 'status_detail' to provide
>>     more detailed information about the current status.  For instance,
>>     for the 'downloading' status, we could have 'status_detail' be the
>>     completion percentage or JSON containing the total size and the
>>     current amount copied.  This way, at each interval we could check to
>>     see if the amount copied had changed, and trigger the timeout if it
>>     had not, instead of blindly assuming that the operation will
>>     complete within a given amount of time.
>>
>>     What do people think?  Would there be a better way to do this?
>>
>>     Best Regards,
>>     Solly Ross
>>
>>     _______________________________________________
>>     OpenStack-dev mailing list
>>     OpenStack-dev at lists.openstack.org
>>     <mailto:OpenStack-dev at lists.openstack.org>
>>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

I think the best solution here is to clean up the setting of
error-status for volumes during create/download and skip the timeout
altogether.  Last time I looked even this wasn't in that bad of shape
(with the exception of the phantom VG doesn't exist that none of us
seem to be able to recreate).  I'm not a fan of complex variable
time-out algorithms, and I'm even less of a fan of adding API
functions to gather timeout info.

I would like to hear if there's actually a solution offered by
call-backs that the rest of us just aren't seeing here?  I don't know
how that solves the problem though.



More information about the OpenStack-dev mailing list