LOG.error(errstr, resp[2])
raise RemoteRestError(reason=resp[2], status=resp[0])
if resp[0] in ignore_codes:
- LOG.warning(_LW("NeutronRestProxyV2: Received and ignored error "
- "code %(code)s on %(action)s action to resource "
- "%(resource)s"),
- {'code': resp[2], 'action': action,
- 'resource': resource})
+ LOG.info(_LI("NeutronRestProxyV2: Received and ignored error "
+ "code %(code)s on %(action)s action to resource "
+ "%(resource)s"),
+ {'code': resp[2], 'action': action,
+ 'resource': resource})
return resp
def rest_create_router(self, tenant_id, router):
def rest_get_switch(self, switch_id):
resource = SWITCHES_PATH % switch_id
errstr = _("Unable to retrieve switch: %s")
- return self.rest_action('GET', resource, errstr=errstr)
+ resp = self.rest_action('GET', resource, errstr=errstr,
+ ignore_codes=[404])
+ # return None if switch not found, else return switch info
+ return None if resp[0] == 404 else resp[3]
def _consistency_watchdog(self, polling_interval=60):
if 'consistency' not in self.get_capabilities():
pass
try:
- self.servers.rest_get_switch(host)
- exists = True
- except servermanager.RemoteRestError as e:
- if e.status == 404:
- exists = False
- else:
- # Another error, return without caching to try again on
- # next binding
- return
+ exists = bool(self.servers.rest_get_switch(host))
+ except servermanager.RemoteRestError:
+ # Connectivity or internal server error. Skip cache to try again on
+ # next binding attempt
+ return
self.ivs_host_cache[host] = {
'timestamp': datetime.datetime.now(),
'exists': exists