From 27a51abfc88bec9b65673756931f3f2980113c27 Mon Sep 17 00:00:00 2001 From: jorgesece Date: Tue, 28 Jun 2016 11:36:48 +0100 Subject: [PATCH] Delete extra parameter in network link creation We delete the server_id property which is not allowed in the request for creating ports in nova. Change-Id: Id796800f260c4968de8a1c1271067f05942ff3e3 Closes-bug: #1596895 --- ooi/api/helpers.py | 8 +++----- ooi/tests/fakes.py | 5 +++-- ooi/tests/unit/controllers/test_helpers.py | 8 ++++++++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ooi/api/helpers.py b/ooi/api/helpers.py index 7cdff44..0c14e16 100644 --- a/ooi/api/helpers.py +++ b/ooi/api/helpers.py @@ -821,12 +821,10 @@ class OpenStackHelper(BaseHelper): :param device_id: device id """ param_port = { - 'net_id': network_id, - 'server_id': device_id + 'net_id': network_id } - compute_id = param_port.get("server_id") tenant_id = self.tenant_from_req(req) - path = "/%s/servers/%s/os-interface" % (tenant_id, compute_id) + path = "/%s/servers/%s/os-interface" % (tenant_id, device_id) body = utils.make_body("interfaceAttachment", param_port) os_req = self._get_req(req, path=path, content_type="application/json", @@ -835,7 +833,7 @@ class OpenStackHelper(BaseHelper): port = self.get_from_response(response, "interfaceAttachment", {}) for ip in port["fixed_ips"]: return self._build_link(port["net_id"], - compute_id, + device_id, ip['ip_address'], ip_id=port["port_id"], mac=port['mac_addr'], diff --git a/ooi/tests/fakes.py b/ooi/tests/fakes.py index 8e7fcd9..e92083c 100644 --- a/ooi/tests/fakes.py +++ b/ooi/tests/fakes.py @@ -566,9 +566,10 @@ class FakeApp(object): return create_fake_json_resp(ip, 202) def _do_create_port(self, req): - tenant = req.path_info.split('/')[1] + req_content = req.path_info.split('/') + tenant = req_content[1] + server = req_content[3] body = req.json_body.copy() - server = body["interfaceAttachment"]["server_id"] net = body["interfaceAttachment"]["net_id"] port = ports[tenant] p = {"interfaceAttachment": { diff --git a/ooi/tests/unit/controllers/test_helpers.py b/ooi/tests/unit/controllers/test_helpers.py index 98a250d..cce7347 100644 --- a/ooi/tests/unit/controllers/test_helpers.py +++ b/ooi/tests/unit/controllers/test_helpers.py @@ -1236,6 +1236,10 @@ class TestOpenStackHelperReqs(TestBaseHelper): "fixed_ips": [{"ip_address": ip}], "mac_addr": mac, "port_state": "ACTIVE" }} + tenant_id = uuid.uuid4().hex + m_tenant.return_value = tenant_id + path = "/%s/servers/%s/os-interface" % (tenant_id, device_id) + body = {"interfaceAttachment": {"net_id": net_id}} response = fakes.create_fake_json_resp(p, 200) req_mock = mock.MagicMock() req_mock.get_response.return_value = response @@ -1246,6 +1250,10 @@ class TestOpenStackHelperReqs(TestBaseHelper): self.assertEqual(net_id, ret['network_id']) self.assertEqual(mac, ret['mac']) self.assertEqual(port_id, ret['ip_id']) + m_create.assert_called_with(None, path=path, + content_type="application/json", + body=json.dumps(body), + method="POST") @mock.patch.object(helpers.OpenStackHelper, "_get_ports") @mock.patch.object(helpers.OpenStackHelper, "_get_req")