From 0d00603f124e8d86871247ce419229329488dff8 Mon Sep 17 00:00:00 2001 From: gtt116 <gtt116@gmail.com> Date: Tue, 7 Jan 2014 04:16:06 +0000 Subject: [PATCH] Support list deleted servers for admin Nova api supported a parameter named 'deleted' which allow Admin to list deleted servers. This patch make novaclient support this. Change-Id: Ifc492fd0ba9d885e37c04c165d6397832ae6ebe0 Closes-Bug: #1266631 --- novaclient/tests/v1_1/test_shell.py | 4 ++++ novaclient/tests/v3/test_shell.py | 4 ++++ novaclient/v1_1/shell.py | 6 ++++++ novaclient/v3/shell.py | 6 ++++++ 4 files changed, 20 insertions(+) diff --git a/novaclient/tests/v1_1/test_shell.py b/novaclient/tests/v1_1/test_shell.py index fa012a557..026ffc7c0 100644 --- a/novaclient/tests/v1_1/test_shell.py +++ b/novaclient/tests/v1_1/test_shell.py @@ -688,6 +688,10 @@ class ShellTest(utils.TestCase): self.run_command('list --minimal') self.assert_called('GET', '/servers') + def test_list_deleted(self): + self.run_command('list --deleted') + self.assert_called('GET', '/servers/detail?deleted=True') + def test_list_with_images(self): self.run_command('list --image 1') self.assert_called('GET', '/servers/detail?image=1') diff --git a/novaclient/tests/v3/test_shell.py b/novaclient/tests/v3/test_shell.py index 07eec1aa0..1c39ad7fd 100644 --- a/novaclient/tests/v3/test_shell.py +++ b/novaclient/tests/v3/test_shell.py @@ -78,6 +78,10 @@ class ShellTest(utils.TestCase): def assert_called_anytime(self, method, url, body=None): return self.shell.cs.assert_called_anytime(method, url, body) + def test_list_deleted(self): + self.run_command('list --deleted') + self.assert_called('GET', '/servers/detail?deleted=True') + def test_aggregate_list(self): self.run_command('aggregate-list') self.assert_called('GET', '/os-aggregates') diff --git a/novaclient/v1_1/shell.py b/novaclient/v1_1/shell.py index e6b3160a3..31b0ac209 100644 --- a/novaclient/v1_1/shell.py +++ b/novaclient/v1_1/shell.py @@ -1090,6 +1090,11 @@ def do_image_delete(cs, args): metavar='<tenant>', nargs='?', help='Display information from single tenant (Admin only).') +@utils.arg('--deleted', + dest='deleted', + action="store_true", + default=False, + help='Only display deleted servers (Admin only).') @utils.arg('--fields', default=None, metavar='<fields>', @@ -1119,6 +1124,7 @@ def do_list(cs, args): 'status': args.status, 'tenant_id': args.tenant, 'host': args.host, + 'deleted': args.deleted, 'instance_name': args.instance_name} filters = {'flavor': lambda f: f['id'], diff --git a/novaclient/v3/shell.py b/novaclient/v3/shell.py index 0750b45f7..e81da085c 100644 --- a/novaclient/v3/shell.py +++ b/novaclient/v3/shell.py @@ -954,6 +954,11 @@ def do_image_delete(cs, args): metavar='<fields>', help='Comma-separated list of fields to display. ' 'Use the show command to see which fields are available.') +@utils.arg('--deleted', + dest='deleted', + action="store_true", + default=False, + help='Only display deleted servers (Admin only).') @utils.arg('--minimal', dest='minimal', action="store_true", @@ -978,6 +983,7 @@ def do_list(cs, args): 'status': args.status, 'tenant_id': args.tenant, 'host': args.host, + 'deleted': args.deleted, 'instance_name': args.instance_name} filters = {'flavor': lambda f: f['id'],