Skip to content

Switch to /api/galaxy/status/healthz endpoint for readiness and liveness probe - #282

Open
jerabekjiri wants to merge 2 commits into
ansible:mainfrom
jerabekjiri:health-probe-status-healthz
Open

jerabekjiri wants to merge 2 commits into
ansible:mainfrom
jerabekjiri:health-probe-status-healthz

Conversation

@jerabekjiri

@jerabekjiri jerabekjiri commented Aug 24, 2026

Copy link
Copy Markdown
Contributor
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/healthz returns 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

@lucas-benedito lucas-benedito left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment on lines 219 to 226
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@jerabekjiri jerabekjiri Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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?

@Funi1234

Funi1234 commented Sep 2, 2026

Copy link
Copy Markdown

Opened #284 with liveness → /status/healthz, readiness → /pulp/api/v3/status/ (timeoutSeconds bumped to 10).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants