Repository navigation
Probe 0.9 proxies on their admin listener (v0.3.1) - #17
Merged
Merged
Conversation
From 0.9.0-beta the proxy serves /healthz, /readyz, /metrics and /admin only on its admin listener (HYPERBYTEDB_PROXY_ADMIN_LISTEN, 8087) and answers 404 for them on the client port. The operator probed the client port, so a 0.9.1-beta proxy (shared-pool-1 on n3) restarted forever, never became ready, and every request through it failed with 502. The proxy's version is its image tag, else the cluster's version. For 0.9.0-beta and later the operator sets the admin listener explicitly (8087, or 8088 when the client port is 8087), adds an admin container port and probes it; a 0.8.x proxy renders as before. Rolling-restart exclude/include calls go to the same admin port, and for older proxies to the proxy's own port rather than the database's. The admin port is not on the proxy Service. Chart 0.3.1.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug: from 0.9.0-beta the proxy serves
/healthz,/readyz,/metricsand/adminonly on its admin listener (port 8087) and returns 404 for them on the client port. The operator probed the client port, so a 0.9.1-beta proxy restarted forever and never became ready, and every request through it got 502 "database unavailable" (shared-pool-1on n3). The bug is in v0.3.0 andmain. Nothing caught it because UAT and e2e run without the proxy, anddefaultstill runs proxy 0.8.5.Fix:
proxy-admin-listenercapability (proxy 0.9.0-beta and later). The proxy's version is its image tag, or the cluster's version when the image has no version tag.HYPERBYTEDB_PROXY_ADMIN_LISTENexplicitly (8087, or 8088 if the client port is 8087), adds anadmincontainer port, and points both probes at it.docs/compatibility.mdhas the new row and an upgrade note.Tests:
proxy_test.go: probes and env for 0.9.1 and 0.8.5, version from the proxy's own image tag, admin port selection, Service ports.go test,go vetandmake lint(0 issues) pass./healthz,/readyzand/admin/backendson 8087. 0.8.5-beta answers on its client port.