Skip to content

Conversation

@ldez
Copy link
Contributor

@ldez ldez commented May 24, 2017

Description

Merge current v1.3 to master (rc3)

DON'T MERGE FROM GITHUB

timoreimann and others added 8 commits May 22, 2017 20:52
Our vendored copy contains a bug that causes unavailable Marathon nodes
to never be marked as available again due to a misconstruction in the
URL to the Marathon health check / ping endpoint used by go-marathon
internally.

A fix[1] has been published.

[1]gambol99/go-marathon#283
Instead of doing sanity checks in the Kubernetes provider, we just
accept any non-empty value from the annotation and rely on the server
part to filter out unknown rules.

This allows us to automatically stay in sync with the currently
supported Path matchers/modifiers.
We previously fell back to using ClusterIPs. However, the approach can
lead to all kinds of problems since Ingresses rely on being able to talk
to Endpoints directly. For instance, it can break stickiness and
retries.
When pushing data to downstream proxies; malformed requests were being
sent.

The corrected behavior is as follows:

| Route Stripped    |     URL                |  Passed to Backend |
| ----------------- | ---------------------- | ------------------ |
| /                 |     /                  |  /                 |

| Route Stripped    |     URL                |  Passed to Backend |
| ----------------- | ---------------------- | ------------------ |
| /stat             |     /stat              |  /                 |
| /stat             |     /stat/             |  /                 |
| /stat             |     /status            |  /status           |
| /stat             |     /stat/us           |  /us               |

| Route Stripped    |     URL                |  Passed to Backend |
| ----------------- | ---------------------- | ------------------ |
| /stat/            |     /stat              |  /stat             |
| /stat/            |     /stat/             |  /                 |
| /stat/            |     /status            |  /status           |
| /stat/            |     /stat/us           |  /us               |

Prior, we could strip the prefixing `/`, and we'd also ignore the case
where you want to serve something like `/api` as both the index and as a
subpath.

Additionally, this should resolve a myriad of issues relating to
kubernetes ingress `PathPrefixStrip`.
@ldez ldez added this to the 1.4 milestone May 24, 2017
@ldez ldez requested review from emilevauge and timoreimann May 24, 2017 17:58
Copy link
Member

@emilevauge emilevauge left a comment

Choose a reason for hiding this comment

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

Thanks @ldez !
LGTM!

@ldez ldez force-pushed the merge-back-1_3_0-rc3 branch from 5f74a0c to de35a2f Compare May 24, 2017 18:34
@ldez ldez force-pushed the merge-back-1_3_0-rc3 branch from de35a2f to 2833d68 Compare May 24, 2017 18:39
@ldez ldez merged commit 2833d68 into traefik:master May 24, 2017
@ldez ldez deleted the merge-back-1_3_0-rc3 branch May 24, 2017 20:31
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.

4 participants