Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-03 Thread Matt Riedemann

On 8/3/2016 1:44 AM, Alex Xu wrote:



2016-08-03 14:40 GMT+08:00 Alex Xu >:



2016-08-02 22:09 GMT+08:00 Matt Riedemann
>:

On 8/2/2016 2:41 AM, Alex Xu wrote:

A little strange we have two API endpoints, one is
'/servers/{uuid}/os-interfaces', another one is
'/servers/{uuid}/os-virtual-interfaces'.

I prefer to keep os-attach-interface. Due to I think we
should deprecate
the nova-network also. Actually we deprecate all the
nova-network
related API in the 2.36 also. And os-attach-interface didn't
support
nova-network, then it is the right choice.

So we can deprecate the os-virtual-interface in newton. And
in Ocata, we
correct the implementation to get the vif info and tag.
os-attach-interface actually accept the server_id, and there
is check
ensure the port belong to the server. So it shouldn't very
hard to get
the vif info and tag.

And sorry for I missed that when coding patches also...let
me if you
need any help at here.



--

Thanks,

Matt Riedemann





__
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


Alex,

os-interface will be deprecated, that's the APIs to show/list
ports for a given server.

os-virtual-interfaces is not the same, and was never a proxy for
neutron since before 2.32 we never stored anything in the
virtual_interfaces table in the nova database for neutron, but
now we do because that's where we store the VIF tags.

We have to keep os-attach-interface (attach/detach interface
actions on a server).

Are you suggesting we drop os-virtual-interfaces and change the
behavior of os-interfaces to use the nova virtual_interfaces
table rather than proxying to neutron?


Yes, but I missed the point your point out as below. The reason is
that if we only deprecate the GET of os-interface, then when user
want to add interface, user needs to send request 'POST
/servers/{uuid}/os-interface'. When user want to query the interface
which attach to the server, user needs send request to 'GET
/servers/{uuid}/os-virtual-interfaces'. That means user access one
resource but they are under different API endpoint.

Initially I think we can use virtual_interface table to reimplement
the GET of os-interface'. But as you pointed out, neutron ports
won't show if it is created before Newton. That means we change the
os-interface behaviour in old Microversion. Emm... I'm a little
hesitate.



Note that with os-virtual-interfaces even if we start showing
VIFs for neutron ports, any ports created before Newton won't be
in there, which might be a bit confusing.


If we keep the os-virtual-interfaces, but we can't ensure this API
works for all the instances forever. Due to we can't ensure there
won't any old instance which created before Newton in user's cloud.

So.. one idea, we keep the GET of os-interface, deprecate the
os-virtual-interfaces in Newton. In Ocata, we use virtual_interface
table/object instead of neutron API proxy, but we fallback to proxy
neutron API when the instance haven't virtual_interface table( this
is detected by compare the network_info_cache, instance have vif in
network_info_cace, but no entry in virtual_interface table.).


And remove the code about fallback in the future, when we believe there
isn't any old instance.






--

Thanks,

Matt Riedemann



__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  

Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-03 Thread Alex Xu
2016-08-03 14:40 GMT+08:00 Alex Xu :

>
>
> 2016-08-02 22:09 GMT+08:00 Matt Riedemann :
>
>> On 8/2/2016 2:41 AM, Alex Xu wrote:
>>
>>> A little strange we have two API endpoints, one is
>>> '/servers/{uuid}/os-interfaces', another one is
>>> '/servers/{uuid}/os-virtual-interfaces'.
>>>
>>> I prefer to keep os-attach-interface. Due to I think we should deprecate
>>> the nova-network also. Actually we deprecate all the nova-network
>>> related API in the 2.36 also. And os-attach-interface didn't support
>>> nova-network, then it is the right choice.
>>>
>>> So we can deprecate the os-virtual-interface in newton. And in Ocata, we
>>> correct the implementation to get the vif info and tag.
>>> os-attach-interface actually accept the server_id, and there is check
>>> ensure the port belong to the server. So it shouldn't very hard to get
>>> the vif info and tag.
>>>
>>> And sorry for I missed that when coding patches also...let me if you
>>> need any help at here.
>>>
>>>
>>>
>>> --
>>>
>>> Thanks,
>>>
>>> Matt Riedemann
>>>
>>>
>>>
>>>
>>> __
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>>> <
>>> http://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
>>>
>>>
>> Alex,
>>
>> os-interface will be deprecated, that's the APIs to show/list ports for a
>> given server.
>>
>> os-virtual-interfaces is not the same, and was never a proxy for neutron
>> since before 2.32 we never stored anything in the virtual_interfaces table
>> in the nova database for neutron, but now we do because that's where we
>> store the VIF tags.
>>
>> We have to keep os-attach-interface (attach/detach interface actions on a
>> server).
>>
>> Are you suggesting we drop os-virtual-interfaces and change the behavior
>> of os-interfaces to use the nova virtual_interfaces table rather than
>> proxying to neutron?
>>
>
> Yes, but I missed the point your point out as below. The reason is that if
> we only deprecate the GET of os-interface, then when user want to add
> interface, user needs to send request 'POST /servers/{uuid}/os-interface'.
> When user want to query the interface which attach to the server, user
> needs send request to 'GET /servers/{uuid}/os-virtual-interfaces'. That
> means user access one resource but they are under different API endpoint.
>
> Initially I think we can use virtual_interface table to reimplement the
> GET of os-interface'. But as you pointed out, neutron ports won't show if
> it is created before Newton. That means we change the os-interface
> behaviour in old Microversion. Emm... I'm a little hesitate.
>
>
>>
>> Note that with os-virtual-interfaces even if we start showing VIFs for
>> neutron ports, any ports created before Newton won't be in there, which
>> might be a bit confusing.
>
>
> If we keep the os-virtual-interfaces, but we can't ensure this API works
> for all the instances forever. Due to we can't ensure there won't any old
> instance which created before Newton in user's cloud.
>
> So.. one idea, we keep the GET of os-interface, deprecate the
> os-virtual-interfaces in Newton. In Ocata, we use virtual_interface
> table/object instead of neutron API proxy, but we fallback to proxy neutron
> API when the instance haven't virtual_interface table( this is detected by
> compare the network_info_cache, instance have vif in network_info_cace, but
> no entry in virtual_interface table.).
>

And remove the code about fallback in the future, when we believe there
isn't any old instance.


>
>
>>
>>
>> --
>>
>> Thanks,
>>
>> Matt Riedemann
>>
>>
>> __
>> 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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-03 Thread Alex Xu
2016-08-02 22:09 GMT+08:00 Matt Riedemann :

> On 8/2/2016 2:41 AM, Alex Xu wrote:
>
>> A little strange we have two API endpoints, one is
>> '/servers/{uuid}/os-interfaces', another one is
>> '/servers/{uuid}/os-virtual-interfaces'.
>>
>> I prefer to keep os-attach-interface. Due to I think we should deprecate
>> the nova-network also. Actually we deprecate all the nova-network
>> related API in the 2.36 also. And os-attach-interface didn't support
>> nova-network, then it is the right choice.
>>
>> So we can deprecate the os-virtual-interface in newton. And in Ocata, we
>> correct the implementation to get the vif info and tag.
>> os-attach-interface actually accept the server_id, and there is check
>> ensure the port belong to the server. So it shouldn't very hard to get
>> the vif info and tag.
>>
>> And sorry for I missed that when coding patches also...let me if you
>> need any help at here.
>>
>>
>>
>> --
>>
>> Thanks,
>>
>> Matt Riedemann
>>
>>
>>
>>
>> __
>> 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
>>
>>
> Alex,
>
> os-interface will be deprecated, that's the APIs to show/list ports for a
> given server.
>
> os-virtual-interfaces is not the same, and was never a proxy for neutron
> since before 2.32 we never stored anything in the virtual_interfaces table
> in the nova database for neutron, but now we do because that's where we
> store the VIF tags.
>
> We have to keep os-attach-interface (attach/detach interface actions on a
> server).
>
> Are you suggesting we drop os-virtual-interfaces and change the behavior
> of os-interfaces to use the nova virtual_interfaces table rather than
> proxying to neutron?
>

Yes, but I missed the point your point out as below. The reason is that if
we only deprecate the GET of os-interface, then when user want to add
interface, user needs to send request 'POST /servers/{uuid}/os-interface'.
When user want to query the interface which attach to the server, user
needs send request to 'GET /servers/{uuid}/os-virtual-interfaces'. That
means user access one resource but they are under different API endpoint.

Initially I think we can use virtual_interface table to reimplement the GET
of os-interface'. But as you pointed out, neutron ports won't show if it is
created before Newton. That means we change the os-interface behaviour in
old Microversion. Emm... I'm a little hesitate.


>
> Note that with os-virtual-interfaces even if we start showing VIFs for
> neutron ports, any ports created before Newton won't be in there, which
> might be a bit confusing.


If we keep the os-virtual-interfaces, but we can't ensure this API works
for all the instances forever. Due to we can't ensure there won't any old
instance which created before Newton in user's cloud.

So.. one idea, we keep the GET of os-interface, deprecate the
os-virtual-interfaces in Newton. In Ocata, we use virtual_interface
table/object instead of neutron API proxy, but we fallback to proxy neutron
API when the instance haven't virtual_interface table( this is detected by
compare the network_info_cache, instance have vif in network_info_cace, but
no entry in virtual_interface table.).


>
>
> --
>
> Thanks,
>
> Matt Riedemann
>
>
> __
> 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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-02 Thread Matt Riedemann

On 8/2/2016 9:09 AM, Matt Riedemann wrote:

On 8/2/2016 2:41 AM, Alex Xu wrote:

A little strange we have two API endpoints, one is
'/servers/{uuid}/os-interfaces', another one is
'/servers/{uuid}/os-virtual-interfaces'.

I prefer to keep os-attach-interface. Due to I think we should deprecate
the nova-network also. Actually we deprecate all the nova-network
related API in the 2.36 also. And os-attach-interface didn't support
nova-network, then it is the right choice.

So we can deprecate the os-virtual-interface in newton. And in Ocata, we
correct the implementation to get the vif info and tag.
os-attach-interface actually accept the server_id, and there is check
ensure the port belong to the server. So it shouldn't very hard to get
the vif info and tag.

And sorry for I missed that when coding patches also...let me if you
need any help at here.



--

Thanks,

Matt Riedemann




__

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



Alex,

os-interface will be deprecated, that's the APIs to show/list ports for
a given server.

os-virtual-interfaces is not the same, and was never a proxy for neutron
since before 2.32 we never stored anything in the virtual_interfaces
table in the nova database for neutron, but now we do because that's
where we store the VIF tags.

We have to keep os-attach-interface (attach/detach interface actions on
a server).

Are you suggesting we drop os-virtual-interfaces and change the behavior
of os-interfaces to use the nova virtual_interfaces table rather than
proxying to neutron?

Note that with os-virtual-interfaces even if we start showing VIFs for
neutron ports, any ports created before Newton won't be in there, which
might be a bit confusing.



Here is the draft spec: https://review.openstack.org/#/c/350277/

--

Thanks,

Matt Riedemann


__
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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-02 Thread Matt Riedemann

On 8/2/2016 2:41 AM, Alex Xu wrote:

A little strange we have two API endpoints, one is
'/servers/{uuid}/os-interfaces', another one is
'/servers/{uuid}/os-virtual-interfaces'.

I prefer to keep os-attach-interface. Due to I think we should deprecate
the nova-network also. Actually we deprecate all the nova-network
related API in the 2.36 also. And os-attach-interface didn't support
nova-network, then it is the right choice.

So we can deprecate the os-virtual-interface in newton. And in Ocata, we
correct the implementation to get the vif info and tag.
os-attach-interface actually accept the server_id, and there is check
ensure the port belong to the server. So it shouldn't very hard to get
the vif info and tag.

And sorry for I missed that when coding patches also...let me if you
need any help at here.



--

Thanks,

Matt Riedemann



__
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



Alex,

os-interface will be deprecated, that's the APIs to show/list ports for 
a given server.


os-virtual-interfaces is not the same, and was never a proxy for neutron 
since before 2.32 we never stored anything in the virtual_interfaces 
table in the nova database for neutron, but now we do because that's 
where we store the VIF tags.


We have to keep os-attach-interface (attach/detach interface actions on 
a server).


Are you suggesting we drop os-virtual-interfaces and change the behavior 
of os-interfaces to use the nova virtual_interfaces table rather than 
proxying to neutron?


Note that with os-virtual-interfaces even if we start showing VIFs for 
neutron ports, any ports created before Newton won't be in there, which 
might be a bit confusing.


--

Thanks,

Matt Riedemann


__
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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-02 Thread Alex Xu
2016-08-02 4:13 GMT+08:00 Matt Riedemann :

> On 8/1/2016 1:39 PM, Ken'ichi Ohmichi wrote:
>
>> 2016-07-29 10:32 GMT-07:00 Sean Dague :
>>
>>> On 07/28/2016 05:38 PM, Matt Riedemann wrote:
>>>
 On 7/28/2016 3:55 PM, Matt Riedemann wrote:

> For os-attach-interfaces, we need that to attach/detach interfaces to a
> server, so those actions don't go away with 2.36. We can also list and
> show interfaces (ports) which is a proxy to neutron, but in this case
> it
> seems a tad bit necessary, else to list ports for a given server you
> have to know to list ports via neutron CLI and filter on
> device_id=server.uuid.
>

 On second thought, we could drop the proxy APIs to list/show ports for a
 given server. python-openstackclient could have a convenience CLI for
 listing ports for a server. And the show in os-attach-interfaces takes a
 server id but it's not used, so it's basically pointless and should just
 be replaced with neutron.

 The question is, as these are proxies and the 2.36 microversion was for
 proxy API deprecation, can we still do those in 2.36 even though it's
 already merged? Or do they need to be 2.37? That seems like the more
 accurate thing to do, but then we really have some weird "which is the
 REAL proxy API microversion?" logic going on.

 I think we could move forward with deprecation in novaclient either way.

>>>
>>> We should definitely move forward with novaclient CLI deprecations.
>>>
>>> We've said that microversions are idempotent, so fixing one in this case
>>> isn't really what we want to do, it should just be another bump, with
>>> things we apparently missed. I'm not sure it's super important that
>>> there is a REAL proxy API microversion. We got most of it in one go, and
>>> as long as we catch the stragglers in 2.39 (let's make that the last
>>> merged one before the release so that we can figure out anything else we
>>> missed, and keep get me a network as 2.37).
>>>
>>
>> Yeah, I agree with another bump.
>> We miss something like this and microversion mechanism can provide us
>> with another chance.
>>
>> Thanks
>> Ken Omichi
>>
>> ---
>>
>>
>> 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
>>
>>
> OK I'll take a stab at writing a spec for this either tonight or tomorrow.
> We'll deprecate the proxy APIs for os-attach-interfaces show and list
> methods. We'll need to take into account that the create (attach interface)
> action uses the show method which proxies to neutron's show_port method,
> but I think we will have enough information to avoid that proxy (that could
> probably just be a separate bug fix actually).
>
> As for os-virtual-interfaces, I don't plan on deprecating that, and
> actually plan on enhancing it with a microversion in Ocata to return the
> vif tags from the model (useful for microversion 2.32). Plus we'll be able
> to use that for both nova-net and neutron since the data isn't proxied from
> anywhere, it just comes from the nova DB.


A little strange we have two API endpoints, one is
'/servers/{uuid}/os-interfaces', another one is
'/servers/{uuid}/os-virtual-interfaces'.

I prefer to keep os-attach-interface. Due to I think we should deprecate
the nova-network also. Actually we deprecate all the nova-network related
API in the 2.36 also. And os-attach-interface didn't support nova-network,
then it is the right choice.

So we can deprecate the os-virtual-interface in newton. And in Ocata, we
correct the implementation to get the vif info and tag. os-attach-interface
actually accept the server_id, and there is check ensure the port belong to
the server. So it shouldn't very hard to get the vif info and tag.

And sorry for I missed that when coding patches also...let me if you need
any help at here.


>
> --
>
> Thanks,
>
> Matt Riedemann
>
>
>
> __
> 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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-01 Thread Matt Riedemann

On 8/1/2016 1:39 PM, Ken'ichi Ohmichi wrote:

2016-07-29 10:32 GMT-07:00 Sean Dague :

On 07/28/2016 05:38 PM, Matt Riedemann wrote:

On 7/28/2016 3:55 PM, Matt Riedemann wrote:

For os-attach-interfaces, we need that to attach/detach interfaces to a
server, so those actions don't go away with 2.36. We can also list and
show interfaces (ports) which is a proxy to neutron, but in this case it
seems a tad bit necessary, else to list ports for a given server you
have to know to list ports via neutron CLI and filter on
device_id=server.uuid.


On second thought, we could drop the proxy APIs to list/show ports for a
given server. python-openstackclient could have a convenience CLI for
listing ports for a server. And the show in os-attach-interfaces takes a
server id but it's not used, so it's basically pointless and should just
be replaced with neutron.

The question is, as these are proxies and the 2.36 microversion was for
proxy API deprecation, can we still do those in 2.36 even though it's
already merged? Or do they need to be 2.37? That seems like the more
accurate thing to do, but then we really have some weird "which is the
REAL proxy API microversion?" logic going on.

I think we could move forward with deprecation in novaclient either way.


We should definitely move forward with novaclient CLI deprecations.

We've said that microversions are idempotent, so fixing one in this case
isn't really what we want to do, it should just be another bump, with
things we apparently missed. I'm not sure it's super important that
there is a REAL proxy API microversion. We got most of it in one go, and
as long as we catch the stragglers in 2.39 (let's make that the last
merged one before the release so that we can figure out anything else we
missed, and keep get me a network as 2.37).


Yeah, I agree with another bump.
We miss something like this and microversion mechanism can provide us
with another chance.

Thanks
Ken Omichi

---



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



OK I'll take a stab at writing a spec for this either tonight or 
tomorrow. We'll deprecate the proxy APIs for os-attach-interfaces show 
and list methods. We'll need to take into account that the create 
(attach interface) action uses the show method which proxies to 
neutron's show_port method, but I think we will have enough information 
to avoid that proxy (that could probably just be a separate bug fix 
actually).


As for os-virtual-interfaces, I don't plan on deprecating that, and 
actually plan on enhancing it with a microversion in Ocata to return the 
vif tags from the model (useful for microversion 2.32). Plus we'll be 
able to use that for both nova-net and neutron since the data isn't 
proxied from anywhere, it just comes from the nova DB.


--

Thanks,

Matt Riedemann


__
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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-08-01 Thread Ken'ichi Ohmichi
2016-07-29 10:32 GMT-07:00 Sean Dague :
> On 07/28/2016 05:38 PM, Matt Riedemann wrote:
>> On 7/28/2016 3:55 PM, Matt Riedemann wrote:
>>> For os-attach-interfaces, we need that to attach/detach interfaces to a
>>> server, so those actions don't go away with 2.36. We can also list and
>>> show interfaces (ports) which is a proxy to neutron, but in this case it
>>> seems a tad bit necessary, else to list ports for a given server you
>>> have to know to list ports via neutron CLI and filter on
>>> device_id=server.uuid.
>>
>> On second thought, we could drop the proxy APIs to list/show ports for a
>> given server. python-openstackclient could have a convenience CLI for
>> listing ports for a server. And the show in os-attach-interfaces takes a
>> server id but it's not used, so it's basically pointless and should just
>> be replaced with neutron.
>>
>> The question is, as these are proxies and the 2.36 microversion was for
>> proxy API deprecation, can we still do those in 2.36 even though it's
>> already merged? Or do they need to be 2.37? That seems like the more
>> accurate thing to do, but then we really have some weird "which is the
>> REAL proxy API microversion?" logic going on.
>>
>> I think we could move forward with deprecation in novaclient either way.
>
> We should definitely move forward with novaclient CLI deprecations.
>
> We've said that microversions are idempotent, so fixing one in this case
> isn't really what we want to do, it should just be another bump, with
> things we apparently missed. I'm not sure it's super important that
> there is a REAL proxy API microversion. We got most of it in one go, and
> as long as we catch the stragglers in 2.39 (let's make that the last
> merged one before the release so that we can figure out anything else we
> missed, and keep get me a network as 2.37).

Yeah, I agree with another bump.
We miss something like this and microversion mechanism can provide us
with another chance.

Thanks
Ken Omichi

---


> 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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-07-29 Thread Matt Riedemann

On 7/29/2016 12:32 PM, Sean Dague wrote:

On 07/28/2016 05:38 PM, Matt Riedemann wrote:

On 7/28/2016 3:55 PM, Matt Riedemann wrote:

For os-attach-interfaces, we need that to attach/detach interfaces to a
server, so those actions don't go away with 2.36. We can also list and
show interfaces (ports) which is a proxy to neutron, but in this case it
seems a tad bit necessary, else to list ports for a given server you
have to know to list ports via neutron CLI and filter on
device_id=server.uuid.


On second thought, we could drop the proxy APIs to list/show ports for a
given server. python-openstackclient could have a convenience CLI for
listing ports for a server. And the show in os-attach-interfaces takes a
server id but it's not used, so it's basically pointless and should just
be replaced with neutron.

The question is, as these are proxies and the 2.36 microversion was for
proxy API deprecation, can we still do those in 2.36 even though it's
already merged? Or do they need to be 2.37? That seems like the more
accurate thing to do, but then we really have some weird "which is the
REAL proxy API microversion?" logic going on.

I think we could move forward with deprecation in novaclient either way.


We should definitely move forward with novaclient CLI deprecations.

We've said that microversions are idempotent, so fixing one in this case
isn't really what we want to do, it should just be another bump, with
things we apparently missed. I'm not sure it's super important that
there is a REAL proxy API microversion. We got most of it in one go, and
as long as we catch the stragglers in 2.39 (let's make that the last
merged one before the release so that we can figure out anything else we
missed, and keep get me a network as 2.37).

-Sean



That works for me.

I'm on the fence about deprecating os-virtual-interfaces, it would 
actually work for both nova-network and neutron now since for neutron 
we're now also creating VirtualInterface records in the nova database.


If it were just nova-network, it would be a no-brainer since that's 
deprecated and going away. But it could be a useful API still if we 
updated it to return VIF tags (added in 2.32). It wouldn't be a proxy to 
Neutron, we could literally pull up the nova.network.api code into 
nova.network.base_api to make that work (but it would need a new 
microversion).


At this point that kind of change would be an Ocata thing, but deciding 
what to do about it depends on how we treat the virtual-interface-list 
CLI in novaclient.


--

Thanks,

Matt Riedemann


__
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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-07-29 Thread Sean Dague
On 07/28/2016 05:38 PM, Matt Riedemann wrote:
> On 7/28/2016 3:55 PM, Matt Riedemann wrote:
>> For os-attach-interfaces, we need that to attach/detach interfaces to a
>> server, so those actions don't go away with 2.36. We can also list and
>> show interfaces (ports) which is a proxy to neutron, but in this case it
>> seems a tad bit necessary, else to list ports for a given server you
>> have to know to list ports via neutron CLI and filter on
>> device_id=server.uuid.
> 
> On second thought, we could drop the proxy APIs to list/show ports for a
> given server. python-openstackclient could have a convenience CLI for
> listing ports for a server. And the show in os-attach-interfaces takes a
> server id but it's not used, so it's basically pointless and should just
> be replaced with neutron.
> 
> The question is, as these are proxies and the 2.36 microversion was for
> proxy API deprecation, can we still do those in 2.36 even though it's
> already merged? Or do they need to be 2.37? That seems like the more
> accurate thing to do, but then we really have some weird "which is the
> REAL proxy API microversion?" logic going on.
> 
> I think we could move forward with deprecation in novaclient either way.

We should definitely move forward with novaclient CLI deprecations.

We've said that microversions are idempotent, so fixing one in this case
isn't really what we want to do, it should just be another bump, with
things we apparently missed. I'm not sure it's super important that
there is a REAL proxy API microversion. We got most of it in one go, and
as long as we catch the stragglers in 2.39 (let's make that the last
merged one before the release so that we can figure out anything else we
missed, and keep get me a network as 2.37).

-Sean

-- 
Sean Dague
http://dague.net

__
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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-07-28 Thread Matt Riedemann

On 7/28/2016 3:55 PM, Matt Riedemann wrote:

For os-attach-interfaces, we need that to attach/detach interfaces to a
server, so those actions don't go away with 2.36. We can also list and
show interfaces (ports) which is a proxy to neutron, but in this case it
seems a tad bit necessary, else to list ports for a given server you
have to know to list ports via neutron CLI and filter on
device_id=server.uuid.


On second thought, we could drop the proxy APIs to list/show ports for a 
given server. python-openstackclient could have a convenience CLI for 
listing ports for a server. And the show in os-attach-interfaces takes a 
server id but it's not used, so it's basically pointless and should just 
be replaced with neutron.


The question is, as these are proxies and the 2.36 microversion was for 
proxy API deprecation, can we still do those in 2.36 even though it's 
already merged? Or do they need to be 2.37? That seems like the more 
accurate thing to do, but then we really have some weird "which is the 
REAL proxy API microversion?" logic going on.


I think we could move forward with deprecation in novaclient either way.

--

Thanks,

Matt Riedemann


__
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


Re: [openstack-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-07-28 Thread Matt Riedemann

On 7/28/2016 3:55 PM, Matt Riedemann wrote:

So I think we're OK with os-attach-interfaces (even though it does some
proxying right now), but I'm thinking we should be deprecating
os-virtual-interfaces.



Or if we don't deprecate os-virtual-interfaces, we should implement it 
for neutron too (since it's really the same as for nova-network, it's 
stuff in the nova db) and return the tag attribute.


--

Thanks,

Matt Riedemann


__
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-dev] [nova] os-virtual-interfaces isn't deprecated in 2.36

2016-07-28 Thread Matt Riedemann
I'm not sure if we thought about this before, but the 
os-virtual-interfaces API isn't deprecated with the 2.36 microversion:


https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/virtual_interfaces.py

Neither is os-attach-interfaces:

https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/attach_interfaces.py

Until we had virtual device tagging in 2.32, VirtualInterfaces would 
only be used for nova-network, but with vif tags we store those on VIFs 
in the nova DB, so os-virtual-interfaces could be used to list those. 
However, os-virtual-interfaces doesn't return the VIF tags in the 
responseseems we missed that with the 2.32 microversion. I'm not 
sure how useful that use case is anyway. Plus get_vifs_by_instance isn't 
implemented for neutron, so you'd get a 500 error from this API today 
anyway...


For os-attach-interfaces, we need that to attach/detach interfaces to a 
server, so those actions don't go away with 2.36. We can also list and 
show interfaces (ports) which is a proxy to neutron, but in this case it 
seems a tad bit necessary, else to list ports for a given server you 
have to know to list ports via neutron CLI and filter on 
device_id=server.uuid.


So I think we're OK with os-attach-interfaces (even though it does some 
proxying right now), but I'm thinking we should be deprecating 
os-virtual-interfaces.


--

Thanks,

Matt Riedemann


__
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