Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot route to services that have long enough namespace or name #186

Closed
alexbrand opened this issue Jan 25, 2018 · 3 comments
Closed

Cannot route to services that have long enough namespace or name #186

alexbrand opened this issue Jan 25, 2018 · 3 comments
Milestone

Comments

@alexbrand
Copy link
Contributor

When a service is created in a namespace that has a long enough name, or when the service namespace + service name is long enough, any attempts to connect to the service via Contour result in a "No healthy upstream" response.

I believe the issue is that after translation, there is a mismatch between the Cluster's EDS configuration and the Cluster Load Assignments. More specifically, the ClusterName in the Cluster Load Assignment does not match up with the ServiceName in the Cluster's EDS configuration, because the ClusterName is being hashed when longer than 60 chars.

@davecheney
Copy link
Contributor

davecheney commented Jan 25, 2018 via email

@alexbrand
Copy link
Contributor Author

Sure thing. I used the sample deployments documented in Contour, just with a long namespace:
https://gist.github.com/alexbrand/fa4a715dc7e8e1dc5753955dde057ab1

@davecheney davecheney added this to the 0.4.0 milestone Jan 25, 2018
@davecheney
Copy link
Contributor

davecheney commented Jan 25, 2018 via email

davecheney added a commit to davecheney/contour that referenced this issue Jan 28, 2018
davecheney added a commit to davecheney/contour that referenced this issue Jan 28, 2018
davecheney added a commit to davecheney/contour that referenced this issue Jan 28, 2018
davecheney added a commit to davecheney/contour that referenced this issue Jan 28, 2018
davecheney added a commit that referenced this issue Jan 31, 2018
Updates #186

This PR fixes a condition whereby endpoints (clusterloadassignments)
could remain in the EDS cache after the endpoint has been removed from
the apiserver. This was partially fixed by #187, which dealt with the
case of accidentally hashing the servicename field of the
clusterloadassignment, however hashname was still being applied when
generating the key to remove the endpoint object from the EDS cache.

Apart from leaving unreferenced, as the endpoints' service would have
been removed also, entries in the EDS cache this bug was probably
benign so this is not critical to backport to 0.3.x.

Signed-off-by: Dave Cheney <[email protected]>
sunjayBhatia pushed a commit that referenced this issue Jan 30, 2023
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

No branches or pull requests

2 participants