Merge "Allow deleting multiple images from shell"

This commit is contained in:
Jenkins 2013-04-29 22:50:43 +00:00 committed by Gerrit Code Review
commit f5b8fe2741
3 changed files with 17 additions and 10 deletions
novaclient/v1_1
tests/v1_1

@ -839,16 +839,15 @@ def do_image_show(cs, args):
_print_image(image)
@utils.arg('image', metavar='<image>', help='Name or ID of image.')
@utils.arg('image', metavar='<image>', nargs='+',
help='Name or ID of image(s).')
def do_image_delete(cs, args):
"""
Delete an image.
It should go without saying, but you can only delete images you
created.
"""
image = _find_image(cs, args.image)
image.delete()
"""Delete specified image(s)."""
for image in args.image:
try:
_find_image(cs, image).delete()
except Exception as e:
print "Delete for image %s failed: %s" % (image, e)
@utils.arg('--reservation-id',

@ -806,7 +806,7 @@ class FakeHTTPClient(base_client.HTTPClient):
"links": {},
},
{
"id": 743,
"id": 2,
"name": "My Server Backup",
"serverId": 1234,
"updated": "2010-10-10T12:00:00Z",
@ -839,6 +839,9 @@ class FakeHTTPClient(base_client.HTTPClient):
def delete_images_1(self, **kw):
return (204, {}, None)
def delete_images_2(self, **kw):
return (204, {}, None)
def delete_images_1_metadata_test_key(self, **kw):
return (204, {}, None)

@ -486,6 +486,11 @@ class ShellTest(utils.TestCase):
self.run_command('image-delete 1')
self.assert_called('DELETE', '/images/1')
def test_image_delete_multiple(self):
self.run_command('image-delete 1 2')
self.assert_called('DELETE', '/images/1', pos=-3)
self.assert_called('DELETE', '/images/2', pos=-1)
def test_list(self):
self.run_command('list')
self.assert_called('GET', '/servers/detail')