Merge "Add --all-tenants option to 'nova delete'"

This commit is contained in:
Jenkins 2015-04-23 11:42:34 +00:00 committed by Gerrit Code Review
commit 7a2075756e
2 changed files with 21 additions and 3 deletions
novaclient
tests/unit/v2
v2

@ -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)

@ -1878,12 +1878,18 @@ def do_show(cs, args):
_print_server(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,