diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-23 11:42:34 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-23 11:42:34 +0000 |
commit | 7a2075756e8c06cfcf59d03ee42411b5c9acac12 (patch) | |
tree | 026a1e0347f7155dc9c53da33e8394fd0ced3557 | |
parent | 3251bc430fbe406b8aabbea56418c1bd20b2ed54 (diff) | |
parent | 14cada7d0d8518bebbf0705be1a93514f9d7dad4 (diff) | |
download | python-novaclient-7a2075756e8c06cfcf59d03ee42411b5c9acac12.tar.gz |
Merge "Add --all-tenants option to 'nova delete'"
-rw-r--r-- | novaclient/tests/unit/v2/test_shell.py | 16 | ||||
-rw-r--r-- | novaclient/v2/shell.py | 8 |
2 files changed, 21 insertions, 3 deletions
diff --git a/novaclient/tests/unit/v2/test_shell.py b/novaclient/tests/unit/v2/test_shell.py index 2fe060a0..a89d1931 100644 --- a/novaclient/tests/unit/v2/test_shell.py +++ b/novaclient/tests/unit/v2/test_shell.py @@ -1136,15 +1136,27 @@ class ShellTest(utils.TestCase): self.assert_called('DELETE', '/servers/5678', pos=-1) self.run_command('delete sample-server sample-server2') self.assert_called('GET', - '/servers?all_tenants=1&name=sample-server', pos=-6) + '/servers?name=sample-server', pos=-6) self.assert_called('GET', '/servers/1234', pos=-5) self.assert_called('DELETE', '/servers/1234', pos=-4) self.assert_called('GET', - '/servers?all_tenants=1&name=sample-server2', + '/servers?name=sample-server2', pos=-3) self.assert_called('GET', '/servers/5678', pos=-2) self.assert_called('DELETE', '/servers/5678', pos=-1) + def test_delete_two_with_two_existent_all_tenants(self): + self.run_command('delete sample-server sample-server2 --all-tenants') + self.assert_called('GET', + '/servers?all_tenants=1&name=sample-server', pos=0) + self.assert_called('GET', '/servers/1234', pos=1) + self.assert_called('DELETE', '/servers/1234', pos=2) + self.assert_called('GET', + '/servers?all_tenants=1&name=sample-server2', + pos=3) + self.assert_called('GET', '/servers/5678', pos=4) + self.assert_called('DELETE', '/servers/5678', pos=5) + def test_delete_two_with_one_nonexistent(self): cmd = 'delete 1234 123456789' self.assertRaises(exceptions.CommandError, self.run_command, cmd) diff --git a/novaclient/v2/shell.py b/novaclient/v2/shell.py index ed5892c2..55b9fb71 100644 --- a/novaclient/v2/shell.py +++ b/novaclient/v2/shell.py @@ -1879,11 +1879,17 @@ def do_show(cs, args): @cliutils.arg( + '--all-tenants', + action='store_const', + const=1, + default=0, + help=_('Delete server(s) in another tenant by name (Admin only).')) +@cliutils.arg( 'server', metavar='<server>', nargs='+', help=_('Name or ID of server(s).')) def do_delete(cs, args): """Immediately shut down and delete specified server(s).""" - find_args = {'all_tenants': '1'} + find_args = {'all_tenants': args.all_tenants} utils.do_action_on_many( lambda s: _find_server(cs, s, **find_args).delete(), args.server, |