Merge "allows setting accessIPvs to null via update call"
This commit is contained in:
@@ -776,12 +776,18 @@ class Controller(wsgi.Controller):
|
||||
|
||||
if 'accessIPv4' in body['server']:
|
||||
access_ipv4 = body['server']['accessIPv4']
|
||||
self._validate_access_ipv4(access_ipv4)
|
||||
if access_ipv4 is None:
|
||||
access_ipv4 = ''
|
||||
if access_ipv4:
|
||||
self._validate_access_ipv4(access_ipv4)
|
||||
update_dict['access_ip_v4'] = access_ipv4.strip()
|
||||
|
||||
if 'accessIPv6' in body['server']:
|
||||
access_ipv6 = body['server']['accessIPv6']
|
||||
self._validate_access_ipv6(access_ipv6)
|
||||
if access_ipv6 is None:
|
||||
access_ipv6 = ''
|
||||
if access_ipv6:
|
||||
self._validate_access_ipv6(access_ipv6)
|
||||
update_dict['access_ip_v6'] = access_ipv6.strip()
|
||||
|
||||
if 'auto_disk_config' in body['server']:
|
||||
|
@@ -937,6 +937,32 @@ class ServersControllerTest(test.TestCase):
|
||||
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
def test_update_server_access_ipv4_none(self):
|
||||
self.stubs.Set(nova.db, 'instance_get',
|
||||
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
|
||||
req.method = 'PUT'
|
||||
req.content_type = 'application/json'
|
||||
body = {'server': {'accessIPv4': None}}
|
||||
req.body = jsonutils.dumps(body)
|
||||
res_dict = self.controller.update(req, FAKE_UUID, body)
|
||||
|
||||
self.assertEqual(res_dict['server']['id'], FAKE_UUID)
|
||||
self.assertEqual(res_dict['server']['accessIPv4'], '')
|
||||
|
||||
def test_update_server_access_ipv4_blank(self):
|
||||
self.stubs.Set(nova.db, 'instance_get',
|
||||
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
|
||||
req.method = 'PUT'
|
||||
req.content_type = 'application/json'
|
||||
body = {'server': {'accessIPv4': ''}}
|
||||
req.body = jsonutils.dumps(body)
|
||||
res_dict = self.controller.update(req, FAKE_UUID, body)
|
||||
|
||||
self.assertEqual(res_dict['server']['id'], FAKE_UUID)
|
||||
self.assertEqual(res_dict['server']['accessIPv4'], '')
|
||||
|
||||
def test_update_server_access_ipv6(self):
|
||||
self.stubs.Set(nova.db, 'instance_get',
|
||||
fakes.fake_instance_get(access_ipv6='beef::0123'))
|
||||
@@ -961,6 +987,32 @@ class ServersControllerTest(test.TestCase):
|
||||
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
def test_update_server_access_ipv6_none(self):
|
||||
self.stubs.Set(nova.db, 'instance_get',
|
||||
fakes.fake_instance_get(access_ipv6='beef::0123'))
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
|
||||
req.method = 'PUT'
|
||||
req.content_type = 'application/json'
|
||||
body = {'server': {'accessIPv6': None}}
|
||||
req.body = jsonutils.dumps(body)
|
||||
res_dict = self.controller.update(req, FAKE_UUID, body)
|
||||
|
||||
self.assertEqual(res_dict['server']['id'], FAKE_UUID)
|
||||
self.assertEqual(res_dict['server']['accessIPv6'], '')
|
||||
|
||||
def test_update_server_access_ipv6_blank(self):
|
||||
self.stubs.Set(nova.db, 'instance_get',
|
||||
fakes.fake_instance_get(access_ipv6='beef::0123'))
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
|
||||
req.method = 'PUT'
|
||||
req.content_type = 'application/json'
|
||||
body = {'server': {'accessIPv6': ''}}
|
||||
req.body = jsonutils.dumps(body)
|
||||
res_dict = self.controller.update(req, FAKE_UUID, body)
|
||||
|
||||
self.assertEqual(res_dict['server']['id'], FAKE_UUID)
|
||||
self.assertEqual(res_dict['server']['accessIPv6'], '')
|
||||
|
||||
def test_update_server_adminPass_ignored(self):
|
||||
inst_dict = dict(name='server_test', adminPass='bacon')
|
||||
body = dict(server=inst_dict)
|
||||
|
Reference in New Issue
Block a user