On 04/20/2015 08:07 PM, Ian Wells wrote:
On 20 April 2015 at 15:23, Matthew Treinish <mtrein...@kortar.org
<mailto:mtrein...@kortar.org>> wrote:
On Mon, Apr 20, 2015 at 03:10:40PM -0700, Ian Wells wrote:
> It would be nice to have a consistent policy here; it would make
future
> decision making easier and it would make it easier to write
specs if we
> knew what was expected and the possible implementations weren't
up for
> (quite so much) debate. For different reasons, Neutron
extensions are also
> not favoured, so there's no clear cut choice to make.
Uhm, there is: https://wiki.openstack.org/wiki/APIChangeGuidelines
and if you read that adding attrs without advertising it (using an
extension, microversion, or whatever) is not an allowed change.
It is also not an unallowed change (given that there's a section that
appears to define what an unallowed attribute change is). The page
reads very awkwardly.
Whatever your preference might be, I think it's best we lose the
ambiguity. And perhaps advertise that page a little more widely,
actually - I hadn't come across it in my travels. And perhaps improve
its air of authority: rules on this subject should probably live
somewhere in a repo so that it's clear there's consensus for changes.
Currently anyone can change it for any reason, and two years after the
last substantive change it's hard to say who even knew it was being
changed, let alone whether they agreed.
This page has some kind of authority as it is linked to from
https://wiki.openstack.org/wiki/Governance/Approved/APIStability. At
that time the guidelines were a work in progress but clearly at this
point it belongs in a more controlled repo. That said, this document has
been referenced many times on the dev list and I am not sure that just
moving it to a repo would increase awareness. It would also need to be
more advertised.
-David
Just adding
things without a new extension or microversion makes the end user
story terrible
because it puts the burden completely on the user to try and
figure out which
version 2 (or whatever it currently is marked as) of the api the
cloud they're
using speaks. Think about it if it were a library, that just
started adding
things to it's interfaces without bumping any version. Even if it
was a
backwards compatible addition you would still expect the version
to increment to
indicate that the new stuff was there and available for use.
I appreciate your point and I'd be happy for that to be more obviously
our position.
The issue that the MTU change hit was the conflict between this
general principle and the consensus in its project. Neutron's core
team was giving a strong 'no more extensions' vibe at the last summit,
Neutron hasn't got microversioning, and the content of that document
is two years old and apparently not very widely known by reviewers as
well as me. No choice would have been right.
So again, how about we fix that document up and put it somewhere where
it receives a bit more control and attention?
--
Ian.
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev