-
Notifications
You must be signed in to change notification settings - Fork 219
Cloud HA strategy should automatically use PROXY support when available. #84
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
Conversation
assets/router/service-cloud.yaml
Outdated
| # Name is set at runtime. | ||
| namespace: openshift-ingress | ||
| annotations: | ||
| service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This service is created for any cloud provider environments (AWS, GCP, etc.) but the new annotation is specific to AWS (or the annotation name is misleading?)
May be we could inject the annotation only when the platform is AWS? Similar to what we do here:
| case ic.Platform.AWS != nil: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, the service and the deployment both need configured as a unit when we're using a cloud HA strategy and we're on a supported cloud.
|
/retest |
|
@pravisankar addressed your comments. PTAL thx |
pravisankar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rest of the changes LGTM
pkg/manifests/manifests.go
Outdated
| s.Spec.Selector["router"] = name | ||
|
|
||
| if f.installConfig.Platform.AWS != nil { | ||
| if s.Annotations == nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not needed, s.Annotations is already initialized here:
| if s.Annotations == nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
D'oh yeah!! Am still zonked with all the meds. Fixing now ... Thanks.
|
hmm, the |
pravisankar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
|
/hold |
|
It is like a catch-22-thingy. The feature is to automatically enable the proxy protocol on haproxy (and the aws LB) but the tests that run can't with proxy protocol enabled on haproxy I think. Going to retest a few times just to confirm. |
|
/retest |
1 similar comment
|
/retest |
pkg/manifests/manifests.go
Outdated
| } | ||
| s.Spec.Selector["router"] = name | ||
|
|
||
| if f.installConfig.Platform.AWS != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be in RouterServiceCloud which is the LB service?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes it was -- that's the reason why was also initializing the annotations which I removed last night as per Ravi's comments but didn't look closely. It somehow looks like rebasing it moved it to the previous block/function. I fixed this but there's another issue will put in a separate comment.
|
Could we do an e2e test for this? |
|
@ironcladlou there's a problem with automatically enabling The reason is when we enable this - the haproxy router only speaks the Now a consequence of this is that all the tests that use curl or My 2 bits would be to make this not be the default in the case tests are run. |
|
Assuming we want PROXY to be the default when supported (we can discuss that assumption separately) — what if during tests we talked to the router through as many supported layers as possible to maximize our test coverage? For example, if on the default AWS install we assert support for AWS ELB in front of the routers, then tests executing in that configuration could speak to the router through its ELB. Thoughts? P.S., do you already have a list of which tests are trying to talk to the router directly? |
|
/cc @smarterclayton re: the test strategy |
|
@ironcladlou answers below:
Thx |
|
Depends on openshift/origin#21680 to fix a few of the broken tests ... |
And fixes as per review comments.
…p the test once we fix the internal router service selection bug.
|
Rebased this but I think I still need some help with testing this ... I can't boot up an installer cluster with the HEAD - I can only boot up a cluster with v0.90 but that doesn't have the |
|
/retest Flake: |
|
/retest |
|
FYI, the router tests will fail until they send requests to the ELB rather than the router service (since the router service will now only "speak" the proxy protocol). This needs openshift/origin#21799 to merge. |
|
/retest |
1 similar comment
|
/retest |
|
/test all |
|
Looks like this is once again good to go. /hold cancel |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ironcladlou, Miciah, pravisankar, ramr The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
|
/retest last error: |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest |
1 similar comment
|
/retest |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
2 similar comments
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
Ref: https://jira.coreos.com/browse/NE-120
@ironcladlou @Miciah @pravisankar PTAL thx