Switch to /api/galaxy/status/healthz endpoint for readiness and liveness probe - #282
jerabekjiri wants to merge 2 commits into
Conversation
lucas-benedito
left a comment
There was a problem hiding this comment.
Also, from a hub perspective, are these API endpoints the correct one for their specific purposes?
One being in the API pod, the probe should be from the django/pulp perspective, for the webpod, I would expect more in line with nginx being reachable
| readinessProbe: | ||
| httpGet: | ||
| path: "/{{ pulp_combined_settings.galaxy_api_path_prefix }}/pulp/api/v3/status/" | ||
| path: "/{{ pulp_combined_settings.galaxy_api_path_prefix }}/status/healthz" | ||
| port: 8000 | ||
| failureThreshold: 10 | ||
| initialDelaySeconds: 30 | ||
| periodSeconds: 10 | ||
| timeoutSeconds: 5 |
There was a problem hiding this comment.
I would suggest we keep the /pulp/api/v3/status/ in this section but fine tune the failureThreshold, initialDelaySeconds, periodSeconds, timeoutSeconds parameters to work as desired
There was a problem hiding this comment.
@lucas-benedito do you have an idea what could be the right values? According to https://redhat.atlassian.net/browse/AAPRFE-3106, it's not possible to change that for administrator, so we would have to update it globally for all deployments?
|
Opened #284 with liveness → |
SUMMARY
Issue: https://redhat.atlassian.net/browse/AAP-88905
Switch to more lightweight endpoint for the readiness and liveness probe health checks. Currently used endpoint
/api/galaxy/pulp/api/v3/status/is expensive, it checks DB, redis and worker heartbeats on every call./api/galaxy/status/healthzreturns a plain 200 when the service is up, which I believe is what the probe needs (and querying database should not be needed).ADDITIONAL INFORMATION
Galaxy already uses this in one of the cloud deployment https://github.com/ansible/galaxy_ng/blob/4bd4c3140317fd16299a36d37eeb8c7fccd785bb/openshift/clowder/clowd-app.yaml#L73