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

Denis Makogon dmakogon at mirantis.com
Wed Nov 19 13:49:01 UTC 2014


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?


[1] https://bugs.launchpad.net/oslo.messaging
<https://launchpad.net/oslo.messaging>

[2] https://bugs.launchpad.net/oslo.messaging/+bug/1050374


Kind regards,

Denis Makogon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141119/42aa2361/attachment.html>


More information about the OpenStack-dev mailing list