Enable delete multiple server groups in one request
Currently, "nova server-group-delete" can only delete one server group in one request, this patch was enabling nova client support removing multiple server groups in one request. Change-Id: I373151bc27cbe8617e2023ba99f6fb3f0108d592 Closes-Bug: #1302954
This commit is contained in:
parent
b23c97d634
commit
afbf4e4be0
|
@ -415,6 +415,12 @@ class FakeHTTPClient(base_client.HTTPClient):
|
|||
fakes.assert_has_keys(body['server'], optional=['name', 'adminPass'])
|
||||
return (204, {}, body)
|
||||
|
||||
def delete_os_server_groups_12345(self, **kw):
|
||||
return (202, {}, None)
|
||||
|
||||
def delete_os_server_groups_56789(self, **kw):
|
||||
return (202, {}, None)
|
||||
|
||||
def delete_servers_1234(self, **kw):
|
||||
return (202, {}, None)
|
||||
|
||||
|
|
|
@ -1967,6 +1967,11 @@ class ShellTest(utils.TestCase):
|
|||
self.run_command('keypair-delete test')
|
||||
self.assert_called('DELETE', '/os-keypairs/test')
|
||||
|
||||
def test_delete_multi_server_groups(self):
|
||||
self.run_command('server-group-delete 12345 56789')
|
||||
self.assert_called('DELETE', '/os-server-groups/56789')
|
||||
self.assert_called('DELETE', '/os-server-groups/12345', pos=-2)
|
||||
|
||||
|
||||
class GetSecgroupTest(utils.TestCase):
|
||||
def test_with_integer(self):
|
||||
|
|
|
@ -3469,12 +3469,23 @@ def do_server_group_create(cs, args):
|
|||
_print_server_group_details([server_group])
|
||||
|
||||
|
||||
@utils.arg('id', metavar='<id>',
|
||||
help="Unique ID of the server group to delete")
|
||||
@utils.arg('id', metavar='<id>', nargs='+',
|
||||
help="Unique ID(s) of the server group to delete")
|
||||
def do_server_group_delete(cs, args):
|
||||
"""Delete a specific server group."""
|
||||
cs.server_groups.delete(args.id)
|
||||
print("Instance group %s has been successfully deleted." % args.id)
|
||||
"""Delete specific server group(s)."""
|
||||
failure_count = 0
|
||||
|
||||
for sg in args.id:
|
||||
try:
|
||||
cs.server_groups.delete(sg)
|
||||
print(_("Server group %s has been successfully deleted.") % sg)
|
||||
except Exception as e:
|
||||
failure_count += 1
|
||||
print(_("Delete for server group %(sg)s failed: %(e)s") %
|
||||
{'sg': sg, 'e': e})
|
||||
if failure_count == len(args.id):
|
||||
raise exceptions.CommandError(_("Unable to delete any of the "
|
||||
"specified server groups."))
|
||||
|
||||
|
||||
@utils.arg('id', metavar='<id>',
|
||||
|
|
Loading…
Reference in New Issue