-
Notifications
You must be signed in to change notification settings - Fork 220
NE-167: Implement internal load-balancer API #254
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
NE-167: Implement internal load-balancer API #254
Conversation
fa3622f to
f46c618
Compare
|
|
9934e84 to
46e3577
Compare
Bump to github.com/openshift/api@2024105dd4c3cc30148d4127545eec7b21a53b65 to get the load-balancer scope API.
Respect the "scope" parameter for the ingress controller's load balancer strategy in order to allow choosing between an external (the default) or an internal load balancer. This commit resolves NE-167. https://jira.coreos.com/browse/NE-167 * pkg/operator/controller/controller.go (enforceEffectiveEndpointPublishingStrategy): Default status.endpointPublishingStrategy.loadBalancer.scope to "External". * pkg/operator/controller/controller_lb.go (internalLBAnnotations): New variable. Map platform type to the annotation for that platform that makes the load balancer internal-only. (desiredLoadBalancerService): Check status.endpointPublishingStrategy.loadBalancer.scope and use internalLBAnnotations to set the appropriate annotation if the scope is not "External". * pkg/operator/controller/dns/controller.go (Reconcile): Omit the public zone if the load balancer is internal-only. * test/e2e/operator_test.go (TestInternalLoadBalancer): New test.
46e3577 to
8cd622f
Compare
|
Rebased. |
|
Timeouts from openshift-sdn and openshift-marketplace health probes and from etcd. /test e2e-aws-upgrade |
| t.Skip("test skipped on \"none\" platform type") | ||
| case configv1.VSpherePlatformType: | ||
| t.Skip("test skipped on vSphere") | ||
| } |
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.
TODO: Seems like it could be condensed to a lookup from internalLBAnnotations (if that were exposed by the package)
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ironcladlou, Miciah 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 |
This PR depends on #251.Bump
openshift/apiBump to github.com/openshift/api@2024105dd4c3cc30148d4127545eec7b21a53b65 to get the load-balancer scope API.
Honor the load balancer strategy's scope parameter
Respect the "scope" parameter for the ingress controller's load balancer strategy in order to allow choosing between an external (the default) or an internal load balancer.
pkg/operator/controller/controller.go(enforceEffectiveEndpointPublishingStrategy): Defaultstatus.endpointPublishingStrategy.loadBalancer.scopeto "External".pkg/operator/controller/controller_lb.go(internalLBAnnotations): New variable. Map platform type to the annotation for that platform that makes the load balancer internal-only.(
desiredLoadBalancerService): Checkstatus.endpointPublishingStrategy.loadBalancer.scopeand useinternalLBAnnotationsto set the appropriate annotation if the scope is not "External".pkg/operator/controller/dns/controller.go(Reconcile): Omit the public zone if the load balancer is internal-only.test/e2e/operator_test.go(TestInternalLoadBalancer): New test.