[openstack-dev] [all][oslo.messaging] Multi-versioning RPC Service API support

Doug Hellmann doug at doughellmann.com
Wed Nov 19 14:18:09 UTC 2014

On Nov 19, 2014, at 8:49 AM, Denis Makogon <dmakogon at mirantis.com> wrote:

> Hello Stackers.
>         When i was browsing through bugs of oslo.messaging [1] i found one [2] pretty interesting (it’s old as universe), but it doesn’t seem like a bug, mostly like a blueprint. 
> Digging into code of oslo.messaging i’ve found that, at least, for now, there’s no way launch single service that would be able to handle 
> multiple versions (actually it can if manager implementation can handle request for different RPC API versions).
>         So, i’d like to understand if it’s still valid? And if it is i’d like to collect use cases from all projects and see if oslo.messaging can handle such case.
> But, as first step to understanding multi-versioning/multi-managers strategy for RPC services, i want to clarify few things. Current code maps 
> single version to a list of RPC service endpoints implementation, so here comes question:
> - Does a set of endpoints represent single RPC API version cap?
>         If that’s it, how should we represent multi-versioning? If we’d follow existing pattern: each RPC API version cap represents its own set of endpoints,
> let me provide some implementation details here, for now ‘endpoints’ is a list of classes for a single version cap, but if we’d support multiple version
> caps ‘endpoints’ would become a dictionary that contains pairs of ‘version_cap’-’endpoints’. This type of multi-versioning seems to be the easiest.
> Thoughts/Suggestion?

The dispatcher [1] supports endpoints with versions, and searches for a compatible endpoint for incoming requests. I’ll go ahead and close the ticket. There are lots of others open and valid, so you might want to start looking at some that aren’t quite so old if you’re looking for something to contribute. Drop by #openstack-oslo on freenode if you want to chat about any of them.


[1] http://git.openstack.org/cgit/openstack/oslo.messaging/tree/oslo/messaging/rpc/dispatcher.py#n153

> [1] https://bugs.launchpad.net/oslo.messaging
> [2] https://bugs.launchpad.net/oslo.messaging/+bug/1050374
> Kind regards,
> Denis Makogon
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141119/3324e152/attachment.html>

More information about the OpenStack-dev mailing list