[openstack-dev] [nova] Maintaining backwards compatibility for RPC calls

Day, Phil philip.day at hp.com
Wed Nov 27 12:38:50 UTC 2013

Hi Folks,

I'm a bit confused about the expectations of a manager class to be able to receive and process messages from a previous RPC version.   I thought the objective was to always make changes such that the manage can process any previous version of the call  that could come from the last release,  For example Icehouse code should be able to receive any version that could be generated by a version of Havana.   Generally of course that means new parameters have to have a default value.

I'm kind of struggling then to see why we've now removed, for example, the default values for example from terminate_instance() as part of moving to RPC version to 3.0:

def terminate_instance(self, context, instance, bdms=None, reservations=None):

def terminate_instance(self, context, instance, bdms, reservations):


Doesn't this mean that you can't deploy Icehouse (3.0) code into a Havana system but leave the RPC version pinned at Havana until all of the code has been updated ?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131127/40b14502/attachment.html>

More information about the OpenStack-dev mailing list