Skip to content

Commit

Permalink
compute rpcapi 2.29 is not backwards compatible
Browse files Browse the repository at this point in the history
patch 6fcf413 which added compute
rpcapi version 2.29 does not provide any backwards compatibility.

Fix this issue with 'self.can_send_version'

Fix bug 1217068

Change-Id: Idc49040b712058aab8d3ed769bdf18bdc0a4f067
  • Loading branch information
Jay Lau committed Aug 27, 2013
1 parent 8c10cd1 commit 1c307e5
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions nova/compute/rpcapi.py
Expand Up @@ -648,17 +648,29 @@ def snapshot_instance(self, ctxt, instance, image_id, image_type,
topic=_compute_topic(self.topic, ctxt, None, instance))

def start_instance(self, ctxt, instance):
if self.can_send_version('2.29'):
version = '2.29'
else:
version = '2.0'
instance = jsonutils.to_primitive(
objects_base.obj_to_primitive(instance))
self.cast(ctxt, self.make_msg('start_instance',
instance=instance),
topic=_compute_topic(self.topic, ctxt, None, instance),
version='2.29')
version=version)

def stop_instance(self, ctxt, instance, do_cast=True):
if self.can_send_version('2.29'):
version = '2.29'
else:
version = '2.0'
instance = jsonutils.to_primitive(
objects_base.obj_to_primitive(instance))
rpc_method = self.cast if do_cast else self.call
return rpc_method(ctxt, self.make_msg('stop_instance',
instance=instance),
topic=_compute_topic(self.topic, ctxt, None, instance),
version='2.29')
version=version)

def suspend_instance(self, ctxt, instance):
if self.can_send_version('2.33'):
Expand Down

0 comments on commit 1c307e5

Please sign in to comment.