[openstack-dev] [nova][cinder] how to handle AZ bug 1496235?

Andrew Laski andrew at lascii.com
Thu Sep 24 18:10:25 UTC 2015


On 09/24/15 at 12:16pm, Mathieu Gagné wrote:
>On 2015-09-24 11:53 AM, Walter A. Boring IV wrote:
>> The good thing about the Nova and Cinder clients/APIs is that
>> anyone can write a quick python script to do the orchestration
>> themselves, if we want to deprecate this.  I'm all for deprecating this.
>
>I don't like this kind of reasoning which can justify close to anything.
>It's easy to make those suggestions when you know Python. Please
>consider non-technical/non-developers users when suggesting deprecating
>features or proposing alternative solutions.
>
>I could also say (in bad faith, I know): why have Heat when you can
>write your own Python script. And yet, I don't think we would appreciate
>anyone making such a controversial statement.
>
>Our users don't know Python, use 3rd party tools (which don't often
>perform/support orchestration) or the Horizon dashboard. They don't want
>to have to learn Heat or Python so they can orchestrate volume creation
>in place of Nova for a single instance. You don't write CloudFormation
>templates on AWS just to boot an instance on volume. That's not the UX I
>want to offer to my users.

The issues that I've seen with having this happen in Nova are that there 
are many different ways for this process to fail and the user is 
provided no control or visibility.

As an example we have some images that should convert to volumes quickly 
so failure would be defined as taking longer than x amount of time, but 
for another set of images that are expected to take longer failure would 
be 3x amount of time.  Nova shouldn't be the place to decide how long 
volume creation should take, and I wouldn't expect to ask users to pass 
this in during an API request.

When volume creation does take a decent amount of time there is no 
indication of progress in the Nova API.  When monitoring it via the 
Cinder API you can get a rough approximation of progress.  I don't 
expect Nova to expose volume creation progress as part of the feedback 
during an instance boot request.

At the moment the volume creation request happens from the computes 
themselves.  This means that a failure presents itself as a build 
failure leading to a reschedule and ultimately the user is given a 
NoValidHost.  This is unhelpful and as an operator tracking down the 
root cause is time consuming.

When there is a failure to build an instance while Cinder is creating a 
volume it's possible to end up with the volume left around while the 
instance is deleted.  This is not at all made visible to users in the 
Nova API unless they query the list of volumes and see one they don't 
expect, though it's often immediately clear in the DELETE request sent 
to Cinder.

In short, it ends up being much nicer for users to control the process 
themselves.  Alternatively it would be nice if there was an 
orchestration system that could handle it for them.  But Nova is not 
designed to do that very well.


>
>-- 
>Mathieu
>
>__________________________________________________________________________
>OpenStack Development Mailing List (not for usage questions)
>Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list