Looking good.
A few points:
a) can we just do hasattr dispatch instead of isinstance. it seems more
pythonic than forcing the use of the dispatcher base class
b) it seems like we should make the dispatcher pick version 1.0 instead of
failing if version is not passed in, that way a new dispatcher could handle
unversioned messages. Or did i miss some other magic way this is happening.
Vish
On Apr 30, 2012, at 3:31 PM, Russell Bryant wrote:
Greetings,
I held a session on adding version numbers to the RPC APIs at the last
design summit. The idea was fairly non-controversial. The next step
was to do some prototyping to nail down what it should look like. This
will end up touching quite a bit of code, so it's important to get some
consensus around what it will look like up front.
I've made it far enough that there is enough to look at and provide
feedback on.
The code is in this branch:
https://github.com/russellb/nova/tree/bp/versioned-rpc-apis
The best place to start is in this doc:
https://github.com/russellb/nova/blob/bp/versioned-rpc-apis/README-versioned-rpc-apis.rst
There may be room for some additional code around helping managers
support more than one version of an API. I figure that can shake out on
an as-needed basis as existing code gets converted and APIs get changed.
Feedback welcome!
Thanks,
--
Russell Bryant
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp