summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-04-23 11:42:34 +0000
committerGerrit Code Review <review@openstack.org>2015-04-23 11:42:34 +0000
commit7a2075756e8c06cfcf59d03ee42411b5c9acac12 (patch)
tree026a1e0347f7155dc9c53da33e8394fd0ced3557
parent3251bc430fbe406b8aabbea56418c1bd20b2ed54 (diff)
parent14cada7d0d8518bebbf0705be1a93514f9d7dad4 (diff)
downloadpython-novaclient-7a2075756e8c06cfcf59d03ee42411b5c9acac12.tar.gz
Merge "Add --all-tenants option to 'nova delete'"
-rw-r--r--novaclient/tests/unit/v2/test_shell.py16
-rw-r--r--novaclient/v2/shell.py8
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,