<div dir="ltr">It seems like a change to using internal RPC interfaces would be pretty unstable at this point.<div><br></div><div>Can we start by identifying the shortcomings of the HTTP interface and see if we can address them before making the jump to using an interface which has been internal to Neutron so far? </div><div><br></div><div>I scanned through the etherpad and I really like Salvatore's idea of adding a service plugin to Neutron that is designed specifically for interacting with Nova. All of the Nova notification interactions can be handled there and we can add new API components designed for Nova's use (e.g. syncing data, etc). Does anyone have any objections to that approach?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 23, 2015 at 7:04 AM, Gary Kotton <span dir="ltr"><<a href="mailto:gkotton@vmware.com" target="_blank">gkotton@vmware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
As Salvatore mentioned this was one of the things that we discussed at the<br>
San Diego summit many years ago. I like the idea of using an RPC interface<br>
to speak with Neutron (we could do a similar thing with Cinder, glance<br>
etc). This would certainly address a number of issues with the interfaces<br>
that we use at the moment. It is certainly something worthwhile discussing<br>
next week.<br>
We would need to understand how to define versioned API¹s, how to deal<br>
with extensions etc.<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Gary<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On 1/23/15, 2:59 PM, "Russell Bryant" <<a href="mailto:rbryant@redhat.com">rbryant@redhat.com</a>> wrote:<br>
<br>
>On 01/22/2015 06:40 PM, Salvatore Orlando wrote:<br>
>> I also like the idea of considering the RPC interface. What kind of<br>
>> stability / versioning exists on the Neutron RPC interface?<br>
>><br>
>><br>
>> Even if Neutron does not have fancy things such as objects with<br>
>> remotable method, I think its RPC interfaces are versioned exactly in<br>
>> the same way as Nova. On REST vs AMQP I do not have a strong opinion.<br>
>> This topic comes up quite often; on the one hand REST provides a cleaner<br>
>> separation of concerns between the two projects; on the other hand RPC<br>
>> will enable us to design an optimised interface specific to Nova. While<br>
>> REST over HTTP is not as bandwidth-efficient as RPC over AMQP it however<br>
>> allow deployers to use off-the-shelf tools for HTTP optimisation, such<br>
>> as load balancing, or caching.<br>
><br>
>Neutron uses rpc versioning, but there are some problems with it (that I<br>
>have been working to clean up). The first one is that the interfaces<br>
>are quite tangled together. There are interfaces that appear separate,<br>
>but are used with a bunch of mixin classes and actually presented as a<br>
>single API over rpc. That means they have to be versioned together,<br>
>which is not really happening consistently in practice. I'm aiming to<br>
>have all of this cleared up by the end of Kilo, though.<br>
><br>
>The other issue is related to the "fancy things such as objects with<br>
>remotable methods". :-) The key with this is versioning the data sent<br>
>over these interfaces. Even with rpc interface versioning clear and<br>
>consistently used, I still wouldn't consider these as stable interfaces<br>
>until the data is versioned, as well.<br>
><br>
>--<br>
>Russell Bryant<br>
><br>
>__________________________________________________________________________<br>
>OpenStack Development Mailing List (not for usage questions)<br>
>Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Kevin Benton</div></div>
</div>