UCP Component Health Check API Endpoint
As discussed, each UCP component will return a simple response using HTTP Codes to indicate that it is alive Enhancements to the health check endpoint will be made at a later stage Change-Id: I52eb333191fc148d2ea543632c798a3c087347d8
This commit is contained in:
parent
383dcaeb4e
commit
e66a6507ad
@ -129,3 +129,70 @@ Success message example:
|
|||||||
"code": 200
|
"code": 200
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Health Check API
|
||||||
|
Each UCP component shall expose an endpoint that allows other component
|
||||||
|
to access and validate its health status. The response shall be received
|
||||||
|
within 30 seconds.
|
||||||
|
|
||||||
|
### GET /v1.0/health
|
||||||
|
Invokes a UCP component to return its health status
|
||||||
|
|
||||||
|
#### Health Check Output
|
||||||
|
The current design will be for the UCP component to return an empty response
|
||||||
|
to show that it is alive and healthy. This means that the UCP component that
|
||||||
|
is performing the query will receive HTTP response code 204.
|
||||||
|
|
||||||
|
HTTP response code 503 will be returned if the UCP component fails to receive
|
||||||
|
any response from the component that it is querying. The time out will be set
|
||||||
|
to 30 seconds.
|
||||||
|
|
||||||
|
### GET /v1.0/health/extended
|
||||||
|
Invokes a UCP component to return its detailed health status. Authentication
|
||||||
|
will be required to invoke this API call.
|
||||||
|
|
||||||
|
This feature will be implemented in the future.
|
||||||
|
|
||||||
|
#### Extended Health Check Output
|
||||||
|
The output structure reuses the Kubernetes Status kind to represent the health
|
||||||
|
check results. The Status kind will be returned for both successful and failed
|
||||||
|
health checks to ensure consistencies. The message field will contain summary
|
||||||
|
information related to the results of the health check. Detailed information
|
||||||
|
of the health check will be provided as well.
|
||||||
|
|
||||||
|
Failure message example:
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"kind": "Status",
|
||||||
|
"apiVersion": "v1",
|
||||||
|
"metadata": {},
|
||||||
|
"status": "Service Unavailable",
|
||||||
|
"message": "{{UCP Component Name}} failed to respond",
|
||||||
|
"reason": "Health Check",
|
||||||
|
"details": {
|
||||||
|
"errorCount": {{n}},
|
||||||
|
"errorList": [
|
||||||
|
{ "message" : "{{Detailed Health Check failure information}}"},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"code": 503
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Success message example:
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"kind": "Status",
|
||||||
|
"apiVersion": "v1",
|
||||||
|
"metadata": {},
|
||||||
|
"status": "Healthy",
|
||||||
|
"message": "",
|
||||||
|
"reason": "Health Check",
|
||||||
|
"details": {
|
||||||
|
"errorCount": 0,
|
||||||
|
"errorList": []
|
||||||
|
},
|
||||||
|
"code": 200
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user