[openstack-dev] [Openstack-operators] [Neutron] The specs process, effective operators feedback and product management

Kyle Mestery mestery at mestery.com
Thu Apr 9 15:04:52 UTC 2015

On Thu, Apr 9, 2015 at 9:52 AM, Assaf Muller <amuller at redhat.com> wrote:

> The Neutron specs process was introduced during the Juno timecycle. At the
> time it
> was mostly a bureaucratic bottleneck (The ability to say no) to ease the
> pain of cores
> and manage workloads throughout a cycle. Perhaps this is a somewhat naive
> outlook,
> but I see other positives, such as more upfront design (Some is better
> than none),
> less high level talk during the implementation review process and more
> focus on the details,
> and 'free' documentation for every major change to the project (Some would
> say this
> is kind of a big deal; What better way to write documentation than to
> force the developers
> to do it in order for their features to get merged).
> Right. Keep in mind that for Liberty we're making changes to this process.
For instance, I've already indicated specs which were approved for Kilo but
failed were moved to kilo-backlog. To get them into Liberty, you just
propose a patch which moves the patch in the liberty directory. We already
have a bunch that have taken this path. I hope we can merge the patches for
these specs in Liberty-1.

> That being said, you can only get a feature merged if you propose a spec,
> and the only
> people largely proposing specs are developers. This ingrains the open
> source culture of
> developer focused evolution, that, while empowering and great for
> developers, is bad
> for product managers, users (That are sometimes under-presented, as is the
> case I'm trying
> to make) and generally causes a lack of a cohesive vision. Like it or not,
> the specs process
> and the driver's team approval process form a sort of product management,
> deciding what
> features will ultimately go in to Neutron and in what time frame.
> We haven't done anything to limit reviews of specs by these other users,
and in fact, I would love for more users to review these specs.

> We shouldn't ignore the fact that we clearly have people and product
> managers pulling the strings
> in the background, often deciding where developers will spend their time
> and what specs to propose,
> for the purpose of this discussion. I argue that managers often don't have
> the tools to understand
> what is important to the project, only to their own customers. The Neutron
> drivers team, on the other hand,
> don't have a clear incentive (Or I suspect the will) to spend enormous
> amounts of time doing 'product management',
> as being a driver is essentially your third or fourth job by this point,
> and are the same people
> solving gate issues, merging code, triaging bugs and so on. I'd like to
> avoid to go in to a discussion of what's
> wrong with the current specs process as I'm sure people have heard me
> complain about this in
> #openstack-neutron plenty of times before. Instead, I'd like to suggest a
> system that would perhaps
> get us to implement specs that are currently not being proposed, and give
> an additional form of
> input that would make sure that the development community is spending it's
> time in the right places.
> While these are valid points, the fact that a spec merges isn't an
indication that hte code will merge. We have plenty of examples of that in
the past two releases. Thus, there are issues beyond the specs process
which may prevent your code from merging for an approved spec. That said, I
admire your guile in proposing some changes. :)

> While 'super users' have been given more exposure, and operators summits
> give operators
> an additional tool to provide feedback, from a developer's point of view,
> the input is
> non-empiric and scattered. I also have a hunch that operators still feel
> their voice is not being heard.
> Agreed.

> I propose an upvote/downvote system (Think Reddit), where everyone
> (Operators especially) would upload
> paragraph long explanations of what they think is missing in Neutron. The
> proposals have to be actionable
> (So 'Neutron sucks', while of great humorous value, isn't something I can
> do anything about),
> and I suspect the downvote system will help self-regulate that anyway. The
> proposals are not specs, but are
> like product RFEs, so for example there would not be a 'testing' section,
> as these proposals will not
> replace the specs process anyway but augment it as an additional form of
> input. Proposals can range
> from new features (Role based access control for Neutron resources,
> dynamic routing,
> Neutron availability zones, QoS, ...) to quality of life improvements
> (Missing logs, too many
> DEBUG level logs, poor trouble shooting areas with an explanation of what
> could be improved, ...)
> to long standing bugs, Nova network parity issues, and whatever else may
> be irking the operators community.
> The proposals would have to be moderated (Closing duplicates, low quality
> submissions and implemented proposals
> for example) and if that is a concern then I volunteer to do so.
> Anytime you introduce a voting system you provide incentive to game the
system. I am not in favor of a voting system for anything involving specs.
If people think things are important, they should be reviewing specs and
collaborating to write specs. There are examples of people who have written
specs and not done the work. Perhaps what we really need is for people to
write specs with no assignee initially. Then we could have people looking
for things to work on (there are many, I've been approached by many in the
last months) to take those specs up.

> This system will also give drivers a 'way out': The last cycle we spent
> time refactoring this and that,
> and developers love doing that so it's easy to get behind. I think that as
> in the next cycles we move back to features,
> friction will rise and the process will reveal its flaws.
> Something to consider: Maybe the top proposal takes a day to implement.
> Maybe some low priority bug is actually
> the second highest proposal. Maybe all of the currently marked 'critical'
> bugs don't even appear on the list.
> Maybe we aren't spending our time where we should be.
> And now a word from our legal team: In order for this to be viable, the
> system would have to be a
> *non binding*, *additional* form of input. The top proposal *could* be
> declined for the same reasons
> that specs are currently being declined. It would not replace any of our
> current systems or processes.
> I like the intent here, but I'm not sure we need an additional layer of
input. What about the current specs process and bugs in LP isn't working
that this will address specifically? It seems to me like you're saying
people don't know how to use these, and this is another avenue for those
people to suggest input into the project. I'm pondering the implications of
that now.


> Assaf Muller, Cloud Networking Engineer
> Red Hat
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150409/98e8312f/attachment.html>

More information about the OpenStack-dev mailing list