[openstack-dev] [tc] [all] [glance] On operating a high throughput or otherwise team

John Griffith john.griffith8 at gmail.com
Tue May 17 01:06:37 UTC 2016

On Mon, May 16, 2016 at 10:10 AM, Flavio Percoco <flavio at redhat.com> wrote:

> On 16/05/16 00:23 -0700, Clint Byrum wrote:
>> Excerpts from Nikhil Komawar's message of 2016-05-14 17:42:16 -0400:
>>> Hi all,
>>> Lately I have been involved in discussions that have resulted in giving
>>> a wrong idea to the approach I take in operating the (Glance) team(s).
>>> While my approach is consistency, coherency and agility in getting
>>> things done (especially including the short, mid as well as long term
>>> plans), it appears that it wasn't something evident. So, I have decided
>>> to write this email so that I can collectively gather feedback and share
>>> my thoughts on the right(eous) approach.
>> I find it rather odd that you or anyone believes there is a "right"
>> approach that would work for over 1500 active developers and 200+
>> companies.
>> We can definitely improve upon the aspects of what we have now, by
>> incremental change or revolution. But I doubt we'll ever have a
>> community that is "right" for everyone.
> Right! To that let's also add we have a bunch of smaller communities
> within our
> OpenStack big tent. Each one of these teams might requires a different
> approach.
> [snip]
>>> We are developing something that is usable, operationally friendly and
>>> that it's easier to contribute & maintain but, many strong influencers
>>> are missing on the most important need for OpenStack -- efficient way of
>>> communication. I think we have the tools and right approach on paper and
>>> we've mandated it in the charter too, but that's not enough to operate
>>> things. Also, many people like to work on the assumption that all the
>>> tools of communication are equivalent or useful and there are no
>>> side-effects of using them ever. I strongly disagree. Please find the
>>> reason below:
>> I'd be interested to see evidence of anyone believing something close
>> to that, much less "many people".
>> I do believe people don't take into account everyone's perspective and
>> communication style when choosing how to communicate. But we can't really
>> know all of the ways anything we do in a distributed system affects all
>> of the parts. We can reason about it, and I think you've done a fine job
>> of reasoning through some of the points. But you can't know, nor can I,
>> and I don't think anyone is laboring under the illusion that they can
>> know this.
> This is a good point and I believe it may explode into several smaller
> discussions. I'll try to light the bomb:
> - We used to be a community that assumed good faith about people,
> proposals,
>  etc. Have I been genuine enough to believe this is still true? I certainly
>  work under this *assumption* unless I things stink really bad and even
> then,
>  I'd try to work around the issue without unecessary finger-pointing.
> - We've always been a multi-cultural community company-wise, tz-wise,
>  culturally-wise, language-wise, etc. These is super hard to coordinate and
>  finding a right solution for everyone is even harder. For example,
> depending
>  the communication medium you might have a bad/good impact on non-native
>  English speakers. Spending enough time understanding people's perspective
> is
>  critical to avoid the frustration of non-native English speakers. Asking
> dumb
>  questions that translate to "I don't get your English" when things are
> utterly
>  clear doesn't help, really.
> - Is picking the communication tool based on people's preferences rather
> than
>  based on the technical issue they are meant to solve the right thing to
> do?
>  I'm sorry if this is missing part of your point but I believe each one of
> the
>  tools we have are meant to ease specific communication issues for specific
>  cases. That is to say, I agree not all mediums are equivalent but I do
> think
>  there must be a preferred medium for "whenever you don't know where to
> send
>  $X". To me, that's the ML.
> [snip]
> [1] https://en.wikipedia.org/wiki/Conway's_law
>>> * So, what can be the blocker?
>>> Nothing, but working with these assumptions is really the blocker. That
>>> is exactly why many people in their feedback say we have a "people
>>> problem" in OpenStack. But it's not really the people problem, it is the
>>> assumption problem.
>>> Assumptions are very very bad:
>>> With 'n' problems in a domain and 'm' people working on all those
>>> problems, individually, we have the assumption problem of the order of
>>> O((m*e)^n) where you can think of 'e' as the convergence factor.
>>> Convergence factor being the ability of a group to come to an agreement
>>> of the order of 'agree to agree', 'agree to disagree' (add percentages
>>> to each for more granularity). There is also another assumption (for the
>>> convergence factor) that everyone wants to work in the best interest of
>>> solving the problems in that domain.
>> rAmen brother. We can't assume to know the motivations of anyone, though
>> we can at least decide how much to trust what people say. So if they say
>> that they're interested in solving the problems in a domain, I certainly
>> will give them space to prove that right or wrong.
> Ok, let me see if I can put this in a way it doesn't sound bad. Bear with
> me.
> Sometimes, when it comes to keeping communications healthy/going in
> multi-cultural communities, it's better to have a bit of "assumption".
> Depending
> on the problem's space, topic, etc, it might be healthier to assume some
> things
> on specific points than keep poking with the same questions (structured
> differently) which just end up frustrating folks. I guess my point is,
> there's a
> time and space for every discussion/question. Unfortunately, I believe we
> don't
> spend enough time understanding this and we as well sometimes disagree on
> what's
> the right time/space to discuss things.
> Hope the above makes (some) sense. As a general thing, I prefer to assume
> good
> faith, it truly makes my life simpler.
> [snip]
> * Also, one very important thing that I keep hearing: "I do not like
>>> that" without any other information, as an argument to disregard
>>> technical proposals. I think it is very disruptive and irrational way to
>>> express arguments. We are not buying flowers in OpenStack, we need to
>>> keep rationality in check when we express our opinions. It reduces
>>> convergence factor and increases dubiety among the developers &
>>> reviewers. Then we have a ecosystem where people do not understand why
>>> we do things the way we do it. We should not stop businesses just
>>> because someone doesn't like something, please no. Lack of rationale can
>>> actually do that.
>> +1! Qualify or quantify your objections, but please don't just give us
>> your unfiltered opinions.
> ++
> [snip]
> As a counterpoint, I think we mostly need more understanding of our
>> distributed nature, and to let go of the idea that we can control any
>> of it. To anyone involved I say: Wield your influence, and measure your
>> success, but don't expect 1500 people to do what you tell them to do,
>> because they might just have 1500 different ideas of what you actually
>> meant.
> This! This! and again, THIS!
> Thank y'all,
> Flavio
> --
> @flaper87
> Flavio Percoco
> __________________________________________________________________________
> 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
> ​Hey,

Maybe not related, but maybe it is.  After spending the past couple of
hours trying to help a customer with a Glance issue I'm a bit... well
annoyed with Glance.  I'd like to chime in on this thread.  I'm honesty not
entirely sure what the goal of the thread is, but honestly there's
something rather important to me that I don't really seem to see being
called out.

Is there any way we could stop breaking the API and it's behaviors?  Is
there any way we can fix some of the issues with respect to how things work
when folks configure multiple Glance repos?

Couple of examples:
1. switching from "is_public=true" to "visibility=public"

Ok, cool, I'm sure there's great reasons, but it really sucks when folks
update their client and now none of their automation works any longer

2. making virtual_size R/O

So for some time this was a property that folks could use to set the size
of an image needed for things like volume creation, cloning etc.  At some
point though it was decided "this should be read only", ok... well again
all sorts of code is now broken, including code in Cinder.​  It also seems
there's no way to set it, so it's always there and just Null.  It looked
like I would be able to set it during image-create maybe... but then I hit
number 3.

3. broken parsing for size and virtual_size

I just started looking at this one and I'm not sure what happened here yet,
but it seems that these inputs aren't being parsed any more and are now
raising an exception due to trying to stuff a string into an int field in
the json schema.

​So I think if the project wants to move faster that's great, but please is
theres any chance to value backwards compatibility just a bit more?​  I'm
sure I'm going to get flamed for this email, and the likely response will
be "you're doing it wrong".  I guess if I'm the only one that has these
sorts of issues then alright, I deserve the flames, and maybe somebody will
enlighten me on the proper ways of using Glance so I can be happier and
more in tune with my Universe.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160516/39e7e47c/attachment.html>

More information about the OpenStack-dev mailing list