Merge "Allows admins to reset-network of an instance"

This commit is contained in:
Jenkins 2013-03-01 23:48:41 +00:00 committed by Gerrit Code Review
commit 58a780c95a
5 changed files with 32 additions and 0 deletions

View File

@ -293,6 +293,12 @@ class Server(base.Resource):
"""
self.manager.reset_state(self, state)
def reset_network(self):
"""
Reset network of an instance.
"""
self.manager.reset_network(self)
def add_security_group(self, security_group):
"""
Add a security group to an instance.
@ -780,6 +786,12 @@ class ServerManager(local_base.BootingManagerWithFind):
"""
self._action('os-resetState', server, dict(state=state))
def reset_network(self, server):
"""
Reset network of an instance.
"""
self._action('resetNetwork', server)
def add_security_group(self, server, security_group):
"""
Add a Security Group to a instance

View File

@ -2380,6 +2380,12 @@ def do_reset_state(cs, args):
_find_server(cs, args.server).reset_state(args.state)
@utils.arg('server', metavar='<server>', help='Name or ID of server.')
def do_reset_network(cs, args):
"""Reset network of an instance."""
_find_server(cs, args.server).reset_network()
@utils.arg('--host', metavar='<hostname>', default=None,
help='Name of host.')
@utils.arg('--servicename', metavar='<servicename>', default=None,

View File

@ -497,6 +497,8 @@ class FakeHTTPClient(base_client.HTTPClient):
'disk_over_commit'])
elif action == 'os-resetState':
assert body[action].keys() == ['state']
elif action == 'resetNetwork':
assert body[action] is None
elif action == 'addSecurityGroup':
assert body[action].keys() == ['name']
elif action == 'removeSecurityGroup':

View File

@ -404,6 +404,13 @@ class ServersTest(utils.TestCase):
cs.servers.reset_state(s, 'newstate')
cs.assert_called('POST', '/servers/1234/action')
def test_reset_network(self):
s = cs.servers.get(1234)
s.reset_network()
cs.assert_called('POST', '/servers/1234/action')
cs.servers.reset_network(s)
cs.assert_called('POST', '/servers/1234/action')
def test_add_security_group(self):
s = cs.servers.get(1234)
s.add_security_group('newsg')

View File

@ -759,6 +759,11 @@ class ShellTest(utils.TestCase):
self.assert_called('POST', '/servers/1234/action',
{'os-resetState': {'state': 'active'}})
def test_reset_network(self):
self.run_command('reset-network sample-server')
self.assert_called('POST', '/servers/1234/action',
{'resetNetwork': None})
def test_services_list(self):
self.run_command('service-list')
self.assert_called('GET', '/os-services')