Merge "Allow updating empty created v2 images from v1"

This commit is contained in:
Jenkins 2014-01-22 15:59:55 +00:00 committed by Gerrit Code Review
commit b6468e0a01
2 changed files with 47 additions and 1 deletions

View File

@ -99,7 +99,7 @@ class ImageManager(base.Manager):
for key in ['size', 'min_ram', 'min_disk']:
if key in meta:
try:
meta[key] = int(meta[key])
meta[key] = int(meta[key]) if meta[key] else 0
except ValueError:
pass
return meta

View File

@ -358,6 +358,32 @@ fixtures = {
'ZZZ',
),
},
'/v1/images/v2_created_img': {
'PUT': (
{},
json.dumps({
"image": {
"status": "queued",
"deleted": False,
"container_format": "bare",
"min_ram": 0,
"updated_at": "2013-12-20T01:51:45",
"owner": "foo",
"min_disk": 0,
"is_public": False,
"deleted_at": None,
"id": "v2_created_img",
"size": None,
"name": "bar",
"checksum": None,
"created_at": "2013-12-20T01:50:38",
"disk_format": "qcow2",
"properties": {},
"protected": False
}
})
),
},
}
@ -651,6 +677,26 @@ class ImageManagerTest(testtools.TestCase):
self.assertEqual(image_list[3].id, 'c')
self.assertEqual(len(image_list), 4)
def test_update_v2_created_image_using_v1(self):
fields_to_update = {
'name': 'bar',
'container_format': 'bare',
'disk_format': 'qcow2',
}
image = self.mgr.update('v2_created_img', **fields_to_update)
expect_hdrs = {
'x-image-meta-name': 'bar',
'x-image-meta-container_format': 'bare',
'x-image-meta-disk_format': 'qcow2',
}
expect = [('PUT', '/v1/images/v2_created_img', expect_hdrs, None)]
self.assertEqual(self.api.calls, expect)
self.assertEqual(image.id, 'v2_created_img')
self.assertEqual(image.name, 'bar')
self.assertEqual(image.size, 0)
self.assertEqual(image.container_format, 'bare')
self.assertEqual(image.disk_format, 'qcow2')
class ImageTest(testtools.TestCase):
def setUp(self):