On 06/21/2016 10:27 AM, Sean Dague wrote:
> On 06/21/2016 10:47 AM, Monty Taylor wrote:
> <snip>
>>
>> I'll agree with Clint here, and give an example.
>>
>> When I talk to Nova and get a detail record for a server, Nova talks to
>> Neutron and puts data that it receives into the addresses dict on the
>> server record. This is not the neutron data structure. In fact, it has
>> some information from the Network and some from the Port (it would be
>> helpful if it had _more_ info, but that's not the point here)
>>
>> In any case, the data structure returned by Nova is not related in any
>> way to the version of Neutron that nova is talking to - nor should it be.
>>
>> Here's an example (in yaml not json)
>>
>>   addresses:
>>     GATEWAY_NET:
>>     - OS-EXT-IPS-MAC:mac_addr: fa:16:3e:ea:d8:0d
>>       OS-EXT-IPS:type: fixed
>>       addr: 172.99.106.178
>>       version: 4
>>
>> If you want a neutron record, you'll talk to neutron.
> 
> That's all well and good today, with all the things that we know about
> today. And says nothing about what the Neutron API looks like in 6 years
> time. Let's say that Neutron decides in 2020 that "fixed" is a non
> meaningful name, and stops using it.
> 
> We just did a transition in Nova interacting with Glance where we *could
> not* guarantee the semantics of the interaction from before. We decided
> to *shrug* and just break it, because the only other option was to pin
> to Glance v1 API for eternity.
> 
> So just because you can't imagine a situation right now where this isn't
> a problem, doesn't mean that it's not going to hit you. And the API is a
> place where we don't really get do overs without hurting users.
> 
> ...
> 
> And getting back to the point of the argument it's all about:
> 
> OpenStack-API-Version: compute 2.11
> 
> vs.
> 
> OpenStack-API-Version: 2.11
> 
> 8 bytes to be more explicit on our ACK, and to allow flexibility for
> composite actions in the future (which may never be used, so 8 bytes is
> our cost).

I think putting compute in the argument is a GREAT idea. Sorry, I should
have been much clearer on that.

I was mostly arguing that regardless of where Nova gets its data, if I'm
talking to Nova then it's Nova's api version I care about. I think
expecting me to need to also set a neutron microversion header when
talking to nova is a _terrible_ user experience, and if neutron were to
do something that would make it unpossible for nova to fulfill its API
contract, then we, as OpenStack, should say no.

Monty

__________________________________________________________________________
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

Reply via email to