Adds a --show option to the image-create subcommand

Prints info about the new image when --show is used with the
image-create subcommand.

Change-Id: Id1fba67df9ff86cb1bbda3e241d1d03e01afbe2c
Closes-Bug: 1248128
This commit is contained in:
Chris Buccella 2013-11-20 07:22:27 -05:00
parent c51dc4a525
commit a8756c4007
4 changed files with 29 additions and 0 deletions
novaclient

@ -926,6 +926,9 @@ class FakeHTTPClient(base_client.HTTPClient):
def get_images_2(self, **kw):
return (200, {}, {'image': self.get_images_detail()[2]['images'][1]})
def get_images_456(self, **kw):
return (200, {}, {'image': self.get_images_detail()[2]['images'][1]})
def post_images(self, body, **kw):
assert list(body) == ['image']
fakes.assert_has_keys(body['image'], required=['serverId', 'name'])

@ -660,6 +660,16 @@ class ShellTest(utils.TestCase):
{'createImage': {'name': 'mysnapshot', 'metadata': {}}},
)
def test_create_image_show(self):
output = self.run_command('image-create '
'sample-server mysnapshot --show')
self.assert_called_anytime(
'POST', '/servers/1234/action',
{'createImage': {'name': 'mysnapshot', 'metadata': {}}},
)
self.assertIn('My Server Backup', output)
self.assertIn('SAVING', output)
def test_image_delete(self):
self.run_command('image-delete 1')
self.assert_called('DELETE', '/images/1')

@ -1378,6 +1378,11 @@ def do_root_password(cs, args):
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
@utils.arg('name', metavar='<name>', help='Name of snapshot.')
@utils.arg('--show',
dest='show',
action="store_true",
default=False,
help='Print image info.')
@utils.arg('--poll',
dest='poll',
action="store_true",
@ -1407,6 +1412,9 @@ def do_image_create(cs, args):
[None], status_field=task_state_field,
show_progress=False, silent=True)
if args.show:
_print_image(cs.images.get(image_uuid))
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
@utils.arg('name', metavar='<name>', help='Name of the backup image.')

@ -1241,6 +1241,11 @@ def do_root_password(cs, args):
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
@utils.arg('name', metavar='<name>', help='Name of snapshot.')
@utils.arg('--show',
dest='show',
action="store_true",
default=False,
help='Print image info.')
@utils.arg('--poll',
dest='poll',
action="store_true",
@ -1270,6 +1275,9 @@ def do_image_create(cs, args):
[None], status_field=task_state_field,
show_progress=False, silent=True)
if args.show:
_print_image(cs.images.get(image_uuid))
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
@utils.arg('name', metavar='<name>', help='Name of the backup image.')