[openstack-dev] Dynamic Flavors Support

Russell Bryant rbryant at redhat.com
Wed May 15 17:08:43 UTC 2013


On 05/15/2013 12:38 AM, Michael J Fork wrote:
> After coming across the no-flavors blueprint at
> _https://blueprints.launchpad.net/nova/+spec/no-flavors_ and exchanging
> a few e-mails with the author, we thought it would be good to take
> Russell's advice and take to the mailing list for feedback.  
> 
> A more detailed specification is at
> _https://wiki.openstack.org/wiki/DynamicFlavors_.
> 
> To summarize, this proposal is about allowing the create server and
> resize server APIs to take the same flavor element as used in create
> flavor in addition to a flavorRef element.  The use of the flavor
> element should be controlled by policy and by default be restricted to
> admins to keep with current behavior.  Deployments that wish to expose
> this to non-admins would have to make an explicit policy change.

I'd like to start by focusing on whether this is a feature we want at all.

First, having a label on a pre-defined resource allocation is incredibly
handy for billing purposes.  Allowing the number of combinations to
explode in a way under the user's control makes billing and chargeback
much more complex.  Right now it's very easy to understand that flavor X
costs me Y.

I'm also skeptical with the assertion in the blueprint that managing
flavors is administratively intensive.

Right now I'm -1 on this feature.  I'm open to being convinced, though,
if others think it's useful and would like to argue their points.

> From an implementation standpoint, extensions would be added to the APIs
> to handle the flavor element.  When encountered, a MD5 hash is computed
> on the flavor data structure and a matching hash looked for among
> existing flavors. If no match is found, a new, non-public flavor is
> created. The flavor element is then replaced with a flavorRef element
> and processing continues as-is today.   This implementation should be
> non-invasive and have minimal impact to existing code paths (other than
> to refactor create flavor to re-use in all 3 places)
> 
> One open question is if we need more constraints on the values other
> than overall usage being constrained by quota and the size of any single
> resource by what the scheduler can deploy. One proposal is to add min,
> max, and/or step values to be enforced by the extension.  However, one
> side effect is that it adds complexity by requiring a new API to convey
> those limits.
> 
> Would others find this useful?  If desired, we can post an initial
> implementation.



-- 
Russell Bryant



More information about the OpenStack-dev mailing list