[openstack-dev] [Nova][Neutron] Thoughts on the nova<->neutron interface
rbryant at redhat.com
Fri Jan 23 12:59:25 UTC 2015
On 01/22/2015 06:40 PM, Salvatore Orlando wrote:
> I also like the idea of considering the RPC interface. What kind of
> stability / versioning exists on the Neutron RPC interface?
> Even if Neutron does not have fancy things such as objects with
> remotable method, I think its RPC interfaces are versioned exactly in
> the same way as Nova. On REST vs AMQP I do not have a strong opinion.
> This topic comes up quite often; on the one hand REST provides a cleaner
> separation of concerns between the two projects; on the other hand RPC
> will enable us to design an optimised interface specific to Nova. While
> REST over HTTP is not as bandwidth-efficient as RPC over AMQP it however
> allow deployers to use off-the-shelf tools for HTTP optimisation, such
> as load balancing, or caching.
Neutron uses rpc versioning, but there are some problems with it (that I
have been working to clean up). The first one is that the interfaces
are quite tangled together. There are interfaces that appear separate,
but are used with a bunch of mixin classes and actually presented as a
single API over rpc. That means they have to be versioned together,
which is not really happening consistently in practice. I'm aiming to
have all of this cleared up by the end of Kilo, though.
The other issue is related to the "fancy things such as objects with
remotable methods". :-) The key with this is versioning the data sent
over these interfaces. Even with rpc interface versioning clear and
consistently used, I still wouldn't consider these as stable interfaces
until the data is versioned, as well.
More information about the OpenStack-dev