[openstack-dev] Is the pendulum swinging on PaaS layers?

Chris Friesen chris.friesen at windriver.com
Thu May 25 21:28:42 UTC 2017

On 05/20/2017 10:36 AM, Monty Taylor wrote:
> On 05/19/2017 03:13 PM, Monty Taylor wrote:
>> On 05/19/2017 01:53 PM, Sean Dague wrote:
>>> On 05/19/2017 02:34 PM, Dean Troyer wrote:
>>>> On Fri, May 19, 2017 at 1:04 PM, Sean Dague <sean at dague.net> wrote:
>>>>> These should be used as ways to experiment with the kinds of interfaces
>>>>> we want cheaply, then take them back into services (which is a more
>>>>> expensive process involving compatibility stories, deeper
>>>>> documentation,
>>>>> performance implications, and the like), not an end game on their own.
>>>> I totally agree here.  But I also see the rate of progress for many
>>>> and varied reasons, and want to make users lives easier now.
>>>> Have any of the lessons already learned from Shade or OSC made it into
>>>> services yet?  I think a few may have, "get me a network" being the
>>>> obvious one.  But that still took a lot of work (granted that one _is_
>>>> complicated).
>>> Doing hard things is hard. I don't expect changing APIs to be easy at
>>> this level of deployedness of OpenStack.
>>>>> You can get the behavior. It also has other behaviors. I'm not sure any
>>>>> user has actually argued for "please make me do more rest calls to
>>>>> create a server".
>>>> Maybe not in those words, but "give me the tools to do what I need"
>>>> has been heard often.  Sometimes those tools are composable
>>>> primitives, sometimes they are helpful opinionated interfaces.  I've
>>>> already done the helpful opinionated stuff in OSC here (accept flavor
>>>> and image names when the non-unique names _do_ identify a single
>>>> result).  Having that control lets me give the user more options in
>>>> handling edge cases.
>>> Sure, it does. The fact that it makes 3 API calls every time when doing
>>> flavors by name (404 on the name, list all flavors, local search, get
>>> the flavor by real id) on mostly read only data (without any caching) is
>>> the kind of problem that rises from "just fix it in an upper layer". So
>>> it does provide an experience at a cost.
>> We also searching of all resources by name-or-id in shade. But it's one
>> call - GET /images - and then we test to see if the given value matches
>> the name field or the id field. And there is caching, so the list call
>> is done once in the session.
>> The thing I'm the saddest about is the Nova flavor "extra_info" that one
>> needs to grab for backwards compat but almost never has anything useful
>> in it. This causes me to make a billion API calls for the initial flavor
>> list (which is then cached of course) It would be WAY nicer if there was
>> a GET /flavors/detail that would just get me the whole lot in one go, fwiw.
> Quick follow up on this one.
> It was "extra_specs" I was thinking about - not "extra_info"
> It used to be in the flavor as part of an extension (with a longer name) - we
> fetch them in shade for backwards compat with the past when they were just
> there. However, I've also learned from a follow up in IRC that these aren't
> really things that were intended for me.

For what it's worth, there are cases where extra_specs are important to normal 
users because they constrain what image properties you are allowed to set.

Things like cpu_policy, cpu_thread_policy, memory page size, number of NUMA 
nodes, etc. can all be set in both places, and they behave differently if there 
is a mismatch between the flavor extra_spec and the image property.

Because of this I think it makes sense for a normal person to be able to look at 
flavor extra_specs so that they can create an image with suitable properties to 
be able to boot up an instance with that image on that flavor.


More information about the OpenStack-dev mailing list