diff --git a/zuul/scheduler.py b/zuul/scheduler.py index 606cd04ad0..c58bfc713a 100644 --- a/zuul/scheduler.py +++ b/zuul/scheduler.py @@ -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) diff --git a/zuul/web/__init__.py b/zuul/web/__init__.py index 7a1af306c9..31eac7d886 100755 --- a/zuul/web/__init__.py +++ b/zuul/web/__init__.py @@ -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)