Allow deleting multiple images from shell
Adds nargs to image-delete to allow deleting multiple images through cli. Adds shell test for multiple image-delete. Also makes a small correction in fakes to correct image id of the second image to 2. Fixes bug #1173511 Change-Id: I167a97cab75a6df544901e965d2cfa3c10a3958e
This commit is contained in:
parent
b9f27f6d94
commit
789d15608d
@ -831,16 +831,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)
|
||||
|
||||
|
@ -482,6 +482,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')
|
||||
|
Loading…
x
Reference in New Issue
Block a user