diff --git a/novaclient/v1_1/shell.py b/novaclient/v1_1/shell.py index fbb2009b4..77743deaa 100644 --- a/novaclient/v1_1/shell.py +++ b/novaclient/v1_1/shell.py @@ -358,12 +358,13 @@ def do_flavor_list(cs, _args): _print_flavor_list(cs, flavors) -@utils.arg('id', - metavar='<id>', - help="Unique ID of the flavor to delete") +@utils.arg('flavor', + metavar='<flavor>', + help="Name or ID of the flavor to delete") def do_flavor_delete(cs, args): """Delete a specific flavor""" - cs.flavors.delete(args.id) + flavorid = _find_flavor(cs, args.flavor) + cs.flavors.delete(flavorid) @utils.arg('flavor', @@ -803,12 +804,12 @@ def do_image_delete(cs, args): dest='flavor', metavar='<flavor>', default=None, - help='Search by flavor ID') + help='Search by flavor name or ID') @utils.arg('--image', dest='image', metavar='<image>', default=None, - help='Search by image ID') + help='Search by image name or ID') @utils.arg('--host', dest='host', metavar='<hostname>', @@ -836,14 +837,20 @@ def do_image_delete(cs, args): help='Display information from single tenant (Admin only).') def do_list(cs, args): """List active servers.""" + imageid = None + flavorid = None + if args.image: + imageid = _find_image(cs, args.image).id + if args.flavor: + flavorid = _find_flavor(cs, args.flavor).id search_opts = { 'all_tenants': args.all_tenants, 'reservation_id': args.reservation_id, 'ip': args.ip, 'ip6': args.ip6, 'name': args.name, - 'image': args.image, - 'flavor': args.flavor, + 'image': imageid, + 'flavor': flavorid, 'status': args.status, 'project_id': args.tenant, 'host': args.host, diff --git a/tests/v1_1/fakes.py b/tests/v1_1/fakes.py index 3eeabf702..5d0f72a41 100644 --- a/tests/v1_1/fakes.py +++ b/tests/v1_1/fakes.py @@ -544,6 +544,9 @@ class FakeHTTPClient(base_client.HTTPClient): def delete_flavors_flavordelete(self, **kw): return (202, None) + def delete_flavors_2(self, **kw): + return (202, None) + def post_flavors(self, body, **kw): return (202, {'flavor': self.get_flavors_detail()[1]['flavors'][0]}) diff --git a/tests/v1_1/test_shell.py b/tests/v1_1/test_shell.py index 7dee87941..12b13c907 100644 --- a/tests/v1_1/test_shell.py +++ b/tests/v1_1/test_shell.py @@ -468,8 +468,8 @@ class ShellTest(utils.TestCase): 'detailed=1') def test_flavor_delete(self): - self.run_command("flavor-delete flavordelete") - self.assert_called('DELETE', '/flavors/flavordelete') + self.run_command("flavor-delete 2") + self.assert_called('DELETE', '/flavors/2') def test_flavor_create(self): self.run_command("flavor-create flavorcreate "