From 632770e1314b9bdfede6df5b2b07d9e973cda6a8 Mon Sep 17 00:00:00 2001 From: MotoKen Date: Fri, 14 Sep 2012 11:51:15 +0800 Subject: [PATCH] Make DeregisterImage respect AWS EC2 specification The return value of current deregister_image implementation is the AMI id. Howerver, according to Amazon EC2 API documentation, the return value of DeregisterImageResponse should be boolean. See more detailed documentation in: http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DeregisterImage.html The example response: 59dbff89-35bd-4eac-99ed-be587EXAMPLE true This patch changes the response and test case for deregister_image. Fixes bug 1051752. Change-Id: Ifd31b88ec4f575f50244079cdeed4c9ff57206f8 --- nova/api/ec2/cloud.py | 2 +- nova/tests/api/ec2/test_cloud.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 88878154c985..14035fa14802 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -1365,7 +1365,7 @@ class CloudController(object): image = self._get_image(context, image_id) internal_id = image['id'] self.image_service.delete(context, internal_id) - return {'imageId': image_id} + return True def _register_image(self, context, metadata): image = self.image_service.create(context, metadata) diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py index a444213d3924..9794090776af 100644 --- a/nova/tests/api/ec2/test_cloud.py +++ b/nova/tests/api/ec2/test_cloud.py @@ -1575,7 +1575,7 @@ class CloudTestCase(test.TestCase): self.stubs.Set(fake._FakeImageService, 'delete', fake_delete) # valid image result = deregister_image(self.context, 'ami-00000001') - self.assertEqual(result['imageId'], 'ami-00000001') + self.assertTrue(result) # invalid image self.stubs.UnsetAll()