diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-11-01 15:42:46 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-11-01 15:42:46 +0000 |
commit | c49d96e08121c89d42a3bcbcece63fd671f1a63d (patch) | |
tree | 1990a31ed4743e79a193a8b3240befdcbf39bba2 | |
parent | 3b2e0c6009e60d2a77844dcbce3f9be53e931fbb (diff) | |
parent | 6390508fc9622fdc1ed87974ce416f17e9983592 (diff) | |
download | nova-c49d96e08121c89d42a3bcbcece63fd671f1a63d.tar.gz nova-c49d96e08121c89d42a3bcbcece63fd671f1a63d.tar.xz nova-c49d96e08121c89d42a3bcbcece63fd671f1a63d.zip |
Merge "Make bdms primitive in rpcapi.terminate_instance"
-rw-r--r-- | nova/compute/rpcapi.py | 3 | ||||
-rw-r--r-- | nova/tests/api/ec2/test_cloud.py | 28 | ||||
-rw-r--r-- | nova/tests/api/openstack/compute/test_server_actions.py | 12 |
3 files changed, 37 insertions, 6 deletions
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py index 8b4a4a529..c6ad3383e 100644 --- a/nova/compute/rpcapi.py +++ b/nova/compute/rpcapi.py @@ -518,8 +518,9 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy): def terminate_instance(self, ctxt, instance, bdms): instance_p = jsonutils.to_primitive(instance) + bdms_p = jsonutils.to_primitive(bdms) self.cast(ctxt, self.make_msg('terminate_instance', - instance=instance_p, bdms=bdms), + instance=instance_p, bdms=bdms_p), topic=_compute_topic(self.topic, ctxt, None, instance), version='2.4') diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py index 1abde1069..a6995945b 100644 --- a/nova/tests/api/ec2/test_cloud.py +++ b/nova/tests/api/ec2/test_cloud.py @@ -1825,19 +1825,30 @@ class CloudTestCase(test.TestCase): class BDM(object): def __init__(self): self.no_device = None - self.values = dict(snapshot_id=snapshots[0], + self.values = dict(id=1, + snapshot_id=snapshots[0], volume_id=volumes[0], virtual_name=None, volume_size=1, device_name='sda1', - delete_on_termination=False) + delete_on_termination=False, + connection_info='{"foo":"bar"}') def __getattr__(self, name): - return self.values.get(name) + """Properly delegate dotted lookups""" + if name in self.__dict__['values']: + return self.values.get(name) + try: + return self.__dict__[name] + except KeyError: + raise AttributeError def __getitem__(self, key): return self.values.get(key) + def iteritems(self): + return self.values.iteritems() + return [BDM()] self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', @@ -1913,11 +1924,20 @@ class CloudTestCase(test.TestCase): delete_on_termination=False) def __getattr__(self, name): - return self.values.get(name) + """Properly delegate dotted lookups""" + if name in self.__dict__['values']: + return self.values.get(name) + try: + return self.__dict__[name] + except KeyError: + raise AttributeError def __getitem__(self, key): return self.values.get(key) + def iteritems(self): + return self.values.iteritems() + return [BDM()] self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', diff --git a/nova/tests/api/openstack/compute/test_server_actions.py b/nova/tests/api/openstack/compute/test_server_actions.py index 995e566f3..0afa00f2b 100644 --- a/nova/tests/api/openstack/compute/test_server_actions.py +++ b/nova/tests/api/openstack/compute/test_server_actions.py @@ -722,14 +722,24 @@ class ServerActionsControllerTest(test.TestCase): virtual_name=None, volume_size=1, device_name='vda', + snapshot_id=1, delete_on_termination=False) def __getattr__(self, name): - return self.values.get(name) + """Properly delegate dotted lookups""" + if name in self.__dict__['values']: + return self.values.get(name) + try: + return self.__dict__[name] + except KeyError: + raise AttributeError def __getitem__(self, key): return self.values.get(key) + def iteritems(self): + return self.values.iteritems() + return [BDM()] self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', |