[openstack-dev] [all] [nova] [placement] placement below or beside compute after extraction?

Chris Dent cdent+os at anticdent.org
Tue Aug 21 09:28:26 UTC 2018


On Mon, 20 Aug 2018, Matt Riedemann wrote:

> Here is an example of the concern. In Sydney we talked about adding types to 
> the consumers resource in placement so that nova could use placement for 
> counting quotas [1]. Chris considered it a weird hack but it's pretty 
> straight-forward from a nova consumption point of view. So if placement were 
> separately governed with let's say Chris as PTL, would something like that 
> become a holy war type issue because it's "weird" and convolutes the desire 
> for a minimalist API? I think Chris' stance on this particular item has 
> softened over time as more of a "meh" but it's a worry about extracting with 
> a separate team that is against changes because they are not ideal for 
> Placement yet are needed for a consumer of Placement. I understand this is 
> likely selfish on the part of the nova people that want this (including 
> myself) and maybe close-minded to alternative solutions to the problem (I'm 
> not sure if it's all been thought out end-to-end yet, Mel would likely know 
> the latest on this item). Anyway, I like to have examples when I'm stating 
> something to gain understanding, so that's what I'm trying to do here - 
> explain, with an example, what I said in the tc channel discussion today.

Since we're airing things out (which I think is a good thing, at
least in the long run), I'll add to this.

I think that's a pretty good example of where I did express some
resistance, especially since were it to come up again, I still would
express some (see below). But let's place that resistance in some
context.

In the epic irc discussion you mentioned that one fear is that I
might want to change the handling of microversions [2] because I'm
somewhat famously ambivalent about them. That's correct, I am.
However, I would hope that the fact that placement has one of the
easier and more flexible microversions systems around (written by
me) and I went to the trouble to extract it to a library [3] and I'm
the author of the latest revision on how to microversion [4] is
powerful evidence that once consensus is reached I will do my utmost
to make things align with our shared plans and goals.

So, with the notion of allocation or consumer types (both have been
discussed): If we start from the position that I've been with
placement from very early on and am cognizant of its several goals
and at the same time also aware of its limited "human resources" it
seems normal and appropriate to me that at least some members of the
group responsible for making it must make sure that we work to
choose the right things (of several choices) to do, in part by by
rigorously questioning additional features when existing planned
features are not yet done. In this case we might ask: is it right to
focus on incompletely thought out consumer type management for the
eventual support of quota handling (and other introspection) when we
haven't yet satisfied what has been described by some downstream
people (eglynn is example, to be specific) as job 1: getting shared
disk working correctly (which we still haven't managed across the
combined picture of nova and placement)?

>From my perspective questioning additional features, so that they
are well proven, is simply part of the job and we all should be
doing it. If we are never hitting questions and disagreements we are
almost certainly running blind and our results will be less good.

Once we've hashed things out, I'll help make what we've chosen
happen. The evidence of this is everywhere. Consider this: I've
known (at least subconsciously) about the big reveal in yesterday's
IRC discussion for a long time, but I keep working to make nova,
placement and OpenStack better. Day in, day out, in the face of what
is perhaps the biggest insult to my professional integrity that I've
ever experienced. If this were a different time some portion of "we"
would need to do pistols at dawn, but that's dumb. I just want to
get on with making stuff. The right stuff. Please don't question my
commitment, but do question my designs and plans and help me make
them the best they can be.

Elephant alert, to keep this healthy full exposure rolling: The kind
of questioning and "proving" described above happens all the time in
Nova with specs and other proposals that are presented. We ask
proposers to demonstrate that their ideas are necessary and sound,
and if they are not _or_ we don't have time, we say "no" or "later".
This is good and correct and part of the job and helps make nova the
best it can be given the many constraints it experiences. As far as
I can tell the main differences between me asking questions about
proposed placement features when they are presented by nova cores
and the more general nova-spec situation is who is being subjected
to the questions and by whom.

> [1] Line 55 https://etherpad.openstack.org/p/SYD-forum-nova-placement-update
[2] http://eavesdrop.openstack.org/irclogs/%23openstack-tc/%23openstack-tc.2018-08-20.log.html#t2018-08-20T20:35:51
[3] https://pypi.org/project/microversion_parse/
[4] http://specs.openstack.org/openstack/api-sig/guidelines/api_interoperability.html

-- 
Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the OpenStack-dev mailing list