Bug 1995330: Cherry-pick of per-service loadbalancers#666
Bug 1995330: Cherry-pick of per-service loadbalancers#666openshift-merge-robot merged 3 commits intoopenshift:masterfrom squeed:pick-lb-per-service
Conversation
This removes all of the complexity around managing vip membership. Instead, it creates one or more load balancers per service. Additionally, it tags those load balancers with the GroupKind and NamespacedName of the "owning" Kubernetes object, so we can easily find stale objects and reconcile. It includes an idempotent load-balance reconciliation engine, so we can generate just the ideal state in the ServiceController and let the reconciler take care of the details. This includes a read-through cache, to minimize unnecessary reads from the database. A much-simpler repair engine handles cleaning up any stale Load_Balancer objects on startup. This also implements session affinity, which is just an option on the Load_Balancer object. Signed-off-by: Casey Callendrello <cdc@redhat.com>
|
@squeed: This pull request references Bugzilla bug 1995330, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Bugzilla (anusaxen@redhat.com), skipping review request. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
go-controller/pkg/ovn/master.go
Outdated
| if err != nil { | ||
| return fmt.Errorf("failed to init local gateway with no OVS bridge: %v", err) | ||
| } | ||
| // do nothing, now that we have the services controller. |
There was a problem hiding this comment.
i think you can just remove the entire if statement now right? This was only for 4.5->4.6 and i think SDN->OVN migration. It's not applicable anymore as SDN->OVN migration uses a different method and doesnt rely on using "none" for the bridge name.
@pliurh can correct me if I'm wrong.
There was a problem hiding this comment.
Oh interesting - I wonder if I can just revert #281 entirely?
There was a problem hiding this comment.
If so I'll file a separate PR first.
There was a problem hiding this comment.
Yeah, the SDN migration doesn't rely on #281 anymore.
It's no longer needed; we do the right thing regardless now.
It turns out it's broken. We can revert this when rhbz 1995326 is fixed and picked up.
|
/lgtm |
|
/retest-required |
|
dualstack is a known failure /override ci/prow/e2e-metal-ipi-ovn-dualstack |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: squeed, trozet 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 |
|
@trozet: Overrode contexts on behalf of trozet: ci/prow/e2e-metal-ipi-ovn-dualstack DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/retest-required |
|
/override ci/prow/e2e-metal-ipi-ovn-dualstack |
|
/retest-required |
|
@trozet: Overrode contexts on behalf of trozet: ci/prow/e2e-metal-ipi-ovn-dualstack DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
Latest local gw job failures have nothing to do with this pr /override ci/prow/e2e-aws-ovn-local-gateway |
|
@trozet: Overrode contexts on behalf of trozet: ci/prow/e2e-aws-ovn-local-gateway DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/retest-required |
|
/test okd-images |
1 similar comment
|
/test okd-images |
|
/override ci/prow/okd-images |
|
@dcbw: Overrode contexts on behalf of dcbw: ci/prow/okd-images DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/retest-required |
|
@squeed: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
/retest-requires |
|
/retest-required |
|
@squeed: All pull requests linked via external trackers have merged: Bugzilla bug 1995330 has been moved to the MODIFIED state. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This commit replace updstream commits a6cd666 7e78874 7e78874 Since we merged openshift#666 Downstream before the commits from ovn-kubernetes/ovn-kubernetes#2136 were merged. Signed-off-by: astoycos <astoycos@redhat.com>
This commit replace updstream commits a6cd666 7e78874 7e78874 Since we merged openshift#666 Downstream before the commits from ovn-kubernetes/ovn-kubernetes#2136 were merged. Signed-off-by: astoycos <astoycos@redhat.com>
This commit replace updstream commits a6cd666 7e78874 7e78874 Since we merged openshift#666 Downstream before the commits from ovn-kubernetes/ovn-kubernetes#2136 were merged. Signed-off-by: astoycos <astoycos@redhat.com>
This commit replace updstream commits a6cd666 7e78874 7e78874 Since we merged openshift#666 Downstream before the commits from ovn-kubernetes/ovn-kubernetes#2136 were merged. Signed-off-by: astoycos <astoycos@redhat.com>
This commit replaces upstream commits a6cd666 7e78874 7e78874 Since we merged openshift#666 Downstream before the commits from ovn-kubernetes/ovn-kubernetes#2136 were merged. Signed-off-by: astoycos <astoycos@redhat.com>
This commit replaces upstream commits a6cd666 7e78874 7e78874 Since we merged openshift#666 Downstream before the commits from ovn-kubernetes/ovn-kubernetes#2136 were merged. Signed-off-by: astoycos <astoycos@redhat.com>
This is a cherry-pick of ovn-kubernetes/ovn-kubernetes#2294
This removes all of the complexity around managing vip membership.
Instead, it creates one or more load balancers per service.
Additionally, it tags those load balancers with the GroupKind and
NamespacedName of the "owning" Kubernetes object, so we can easily
find stale objects and reconcile.
It includes an idempotent load-balance reconciliation engine, so we can
generate just the ideal state in the ServiceController and let the
reconciler take care of the details. This includes a read-through cache,
to minimize unnecessary reads from the database.
A much-simpler repair engine handles cleaning up any stale Load_Balancer
objects on startup.
This also implements session affinity, which is just an option on the
Load_Balancer object.