Skip to content

Conversation

@Miciah
Copy link
Contributor

@Miciah Miciah commented Jun 18, 2019

This PR depends on #251.

Bump openshift/api

Bump 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): 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.

@openshift-ci-robot openshift-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jun 18, 2019
@Miciah Miciah force-pushed the NE-167-implement-internal-load-balancer-API branch from fa3622f to f46c618 Compare June 18, 2019 03:18
@Miciah
Copy link
Contributor Author

Miciah commented Jun 18, 2019

TestInternalLoadBalancer is getting false positives because of DNS propagation delays. In a test cluster, when I waited long enough, I eventually got a DNS record that resolved to a public (but non-routable) address. Writing a robust test may be tricky.

@Miciah Miciah force-pushed the NE-167-implement-internal-load-balancer-API branch 2 times, most recently from 9934e84 to 46e3577 Compare June 18, 2019 18:14
Miciah added 2 commits June 19, 2019 13:50
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.
@Miciah Miciah force-pushed the NE-167-implement-internal-load-balancer-API branch from 46e3577 to 8cd622f Compare June 19, 2019 17:51
@Miciah
Copy link
Contributor Author

Miciah commented Jun 19, 2019

Rebased.

@Miciah
Copy link
Contributor Author

Miciah commented Jun 19, 2019

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")
}
Copy link
Contributor

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)

@ironcladlou
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 19, 2019
@openshift-ci-robot
Copy link
Contributor

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants