return ret
else:
LOG.error(_('ServerProxy: %(action)s failure for servers: '
- '%(server)r'),
+ '%(server)r Response: %(response)s'),
{'action': action,
'server': (active_server.server,
- active_server.port)})
+ active_server.port),
+ 'response': ret[3]})
active_server.failed = True
# All servers failed, reset server list and try again next time
and 'id' in new_port):
porttracker_db.put_port_hostid(context, new_port['id'],
port['port'][portbindings.HOST_ID])
+ new_port = self._extend_port_dict_binding(context, new_port)
net = super(NeutronRestProxyV2,
self).get_network(context, new_port["network_id"])
and 'id' in new_port):
porttracker_db.put_port_hostid(context, new_port['id'],
port['port'][portbindings.HOST_ID])
+ new_port = self._extend_port_dict_binding(context, new_port)
# update on networl ctrl
try:
resource = PORTS_PATH % (orig_port["tenant_id"],
raise
# return new_port
- return self._extend_port_dict_binding(context, new_port)
+ return new_port
def delete_port(self, context, port_id, l3_port_check=True):
"""Delete a port.
return "{'status': '200 OK'}"
+class HTTPResponseMock500():
+ status = 500
+ reason = 'Internal Server Error'
+
+ def __init__(self, sock, debuglevel=0, strict=0, method=None,
+ buffering=False, errmsg='500 Internal Server Error'):
+ self.errmsg = errmsg
+
+ def read(self):
+ return "{'status': '%s'}" % self.errmsg
+
+
class HTTPConnectionMock():
def __init__(self, server, port, timeout):
- pass
+ self.response = None
def request(self, action, uri, body, headers):
+ self.response = HTTPResponseMock(None)
+ # Port creations/updates must contain binding information
+ if ('port' in uri and 'attachment' not in uri
+ and 'binding' not in body and action in ('POST', 'PUT')):
+ errmsg = "Port binding info missing in port request '%s'" % body
+ self.response = HTTPResponseMock500(None, errmsg=errmsg)
return
def getresponse(self):
- return HTTPResponseMock(None)
+ return self.response
def close(self):
pass