Merge "Use a status code to detect unknown vs. missing tenant"

This commit is contained in:
Zuul 2018-02-20 06:39:24 +00:00 committed by Gerrit Code Review
commit e21e8deff3
2 changed files with 10 additions and 5 deletions

View File

@ -1153,10 +1153,15 @@ class Scheduler(threading.Thread):
tenant = self.abide.tenants.get(tenant_name)
if not tenant:
if tenant_name not in self.unparsed_abide.known_tenants:
return json.dumps({"message": "Unknown tenant"})
return json.dumps({
"message": "Unknown tenant",
"code": 404
})
self.log.warning("Tenant %s isn't loaded" % tenant_name)
return json.dumps(
{"message": "Tenant %s isn't ready" % tenant_name})
return json.dumps({
"message": "Tenant %s isn't ready" % tenant_name,
"code": 204
})
for pipeline in tenant.layout.pipelines.values():
pipelines.append(pipeline.formatStatusJSON(websocket_url))
return json.dumps(data)

View File

@ -172,8 +172,8 @@ class GearmanHandler(object):
self.cache[tenant] = json.loads(job.data[0])
self.cache_time[tenant] = time.time()
payload = self.cache[tenant]
if payload.get('message') == 'Unknown tenant':
return web.HTTPNotFound()
if payload.get('code') == 404:
return web.HTTPNotFound(reason=payload['message'])
if result_filter:
payload = result_filter.filterPayload(payload)
resp = web.json_response(payload)