[openstack-dev] [Nova] Some thoughts on API microversions
    Ed Leafe 
    ed at leafe.com
       
    Thu Aug  4 18:18:19 UTC 2016
    
    
  
On Aug 4, 2016, at 12:17 PM, Chris Friesen <chris.friesen at windriver.com> wrote:
>> The idea that by specifying a distinct microversion would somehow guarantee
>> an immutable behavior, though, is simply not the case. We discussed this at
>> length at the midcycle regarding the dropping of the nova-network code; once
>> that's dropped, there won't be any way to get that behavior no matter what
>> microversion you specify. It's gone. We signal this with deprecation notices,
>> release notes, etc., and it's up to individuals to move away from using that
>> behavior during this deprecation period. A new microversion will never help
>> anyone who doesn't follow these signals.
> 
> I was unable to attend the midcycle, but that seems to violate the original description of how microversions were supposed to work.  As I recall, the original intent was something like this:
> 
> At time T, we remove an API via microversion X.  We keep the code around to support it when using microversions less than X.
> 
> At some later time T+i, we bump the minimum microversion up to X.  At this point nobody can ever request the older microversions, so we can safely remove the server-side code.
> 
> Have we given up on this?  Or is nova-network a special-case?
Yes, because raising the minimum doesn’t just remove the deprecated thing (in this case, nova-network), but also removes the ability to use *all* of the older microversions. So in this case, we are creating a new microversion that simply signals “nova-network is no longer here”. It doesn’t act like the original intent on microversions (preservation of older APIs).
-- Ed Leafe
    
    
More information about the OpenStack-dev
mailing list