[openstack-dev] [nova] Thought exercise for a V2 only world

Christopher Yeoh cbkyeoh at gmail.com
Tue Mar 4 10:05:01 UTC 2014

On Mon, 3 Mar 2014 21:31:23 -0800
Morgan Fainberg <m at metacloud.com> wrote:
> I think that in a V2 only world a 2 cycle deprecation model would be
> sufficient for any extension. I don’t foresee any complaints on that
> front, especially if there is work to supersede or obsolete the need
> for the extension.

Given the context of feedback saying we're not  able to deprecate
the V2 API as-it-is for a very long time I don't see how a 2 cycle
deprecation model for an extension is sufficient. Perhaps it comes down
to how do we really know its unused? If it hasn't ever worked (we had
one of those!) or accidentally hadn't worked for a couple of cycles and
no one noticed then perhaps deprecating it then is ok. But otherwise
whilst we can get input from public cloud providers fairly easily
there's going to be a lot of small private deployments as well with
custom bits of API using code which we won't hear from. And we'll be
forcing them off the API which people say is exactly what we don't want
to do.

Deprecating functionality and still calling it V2 is I think nearly
always a bad thing. Because it is very different from what people
consider to be major version API stability - eg you may get new
features, but old ones stay.

Its for similar reasons I'm pretty hesitant about using microversioning
for backwards incompatible changes in addition to backwards compatible
ones. Because we end up with a concept of major version stability which
is quite different from what people expect. I don't think we should be
seeing versioning as a magic bullet to get out of API mistakes
(except perhaps under really exceptional circumstances) we've made
because it really just shifts the pain to the users. Do it enough and
people lose an understanding of what it means to have version X.Y
of an API available versus X.(Y+n) and whether they can expect the
software to still work.

> Cheers,
> Morgan 
>> Morgan Fainberg
> Principal Software Engineer
> Core Developer, Keystone
> m at metacloud.com
> On March 3, 2014 at 21:29:43, Joe Gordon (joe.gordon0 at gmail.com)
> wrote:
> Hi All,  
> here's a case worth exploring in a v2 only world ... what about some  
> extension we really think is dead and should go away? can we ever  
> remove it? In the past we have said backwards compatibility means no  
> we cannot remove any extensions, if we adopt the v2 only notion of  
> backwards compatibility is this still true?  
> best,  
> Joe  
> _______________________________________________  
> OpenStack-dev mailing list  
> OpenStack-dev at lists.openstack.org  
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev  

More information about the OpenStack-dev mailing list