10
10
## Summary
11
11
12
12
Add a readiness healthcheck option for apps. When the readiness healthcheck
13
- passes, the app is marked "ready" and the app will be routable. When the
14
- readiness healthcheck fails, the app is marked as "not ready" and its route will
15
- be removed from gorouter's route table.
13
+ passes, the app instance (AI) is marked "ready" and the AI will be routable.
14
+ When the readiness healthcheck fails, the AI is marked as "not ready" and its
15
+ route will be removed from gorouter's route table.
16
16
17
17
## Problem
18
18
19
19
With the current implementation of application healthchecks, when the
20
- application healthcheck detects that an app instance (AI) is unhealthy, then
21
- Diego will stop the AI, delete the AI, and reschedule a new AI.
20
+ application healthcheck detects that an AI is unhealthy, then Diego will stop
21
+ the AI, delete the AI, and reschedule a new AI.
22
22
23
23
This is too aggressive from some apps. There could be many reasons why a single
24
24
request could fail, but the app is actually running fine. Additionally, many
@@ -33,11 +33,11 @@ the app should be kept alive, but in a non-routable state.
33
33
We intend to support readiness healthchecks. (This was requested previously in
34
34
this [ issue] ( https://github.com/cloudfoundry/cloud_controller_ng/issues/1706 ) .)
35
35
This would be an additional healthcheck that app developers could configure.
36
- When the readiness healthcheck passes, the app is marked "ready" and the app
37
- will be routable. When the readiness healthcheck fails, the app is marked as
38
- "not ready" and its route will be removed from gorouter's route table.
39
- This new readiness healthcheck will give users a healthcheck option that is less
40
- drastic than the current option.
36
+ When the readiness healthcheck passes, the AI is marked "ready" and the AI will
37
+ be routable. When the readiness healthcheck fails, the AI is marked as "not
38
+ ready" and its route will be removed from gorouter's route table. This new
39
+ readiness healthcheck will give users a healthcheck option that is less drastic
40
+ than the current option.
41
41
42
42
### Architecture Overview
43
43
This feature will require changes in the following releases
@@ -52,12 +52,12 @@ This feature will require changes in the following releases
52
52
2 . The Diego executor will see these new readiness healthchecks on the desired
53
53
LRP and will run the healthchecker binary in the app container with
54
54
configuration provided.
55
- 3 . When the readiness healthcheck succeeds, the container will be marked as
56
- "ready". When the readiness healthcheck fails, the container will be marked
55
+ 3 . When the readiness healthcheck succeeds, the actual LRP will be marked as
56
+ "ready". When the readiness healthcheck fails, the actual LRP will be marked
57
57
as "not ready".
58
58
4 . When the route emitter gets route information, it will inspect if the AI is
59
59
ready or not ready. It will emit registration or unregistration messages as
60
- appropriate for the gorouter to consume
60
+ appropriate for the gorouter to consume.
61
61
62
62
### CC Design
63
63
Users will be able to set the healthcheck via the app manifest.
0 commit comments