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
Add sctp service support #1137
Add sctp service support #1137
Conversation
8311a55
to
6e0d764
Compare
Adding WIP tag while I test it. |
6e0d764
to
03d7205
Compare
Removing WIP tag. This patch is ready for review. It will fail CI until corresponding OVN patch is merged and in f31. |
@girishmg @dcbw @danwinship PTAL |
lgtm but needs to be rebased |
@trozet if CI is going to fail, then after this integrates into master will all the subsequent PRs then fail? |
965a7c1
to
4f5ed91
Compare
/lgtm |
@girishmg can you PTAL ASAP? |
@trozet yes will take a look |
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.
@trozet @dcbw how is this going to work on deployments running OVN-20-03 without SCTP support. The cluster will not come up with checks like this:
if oc.SCTPLoadBalancerUUID == "" {
return fmt.Errorf("SCTP cluster load balancer not created")
}
With this PR, we are pretty much saying that ovn-kubernetes is only supported on post-split OVN and not even on the initial OVN-20-03 release
Should we add a feature check sctpProtocolSupported
before doing SCTP related stuff?
@trozet @dcbw i stopped reviewing this PR since we need an answer for this #1137 (review) |
@girishmg this kind of triggers in my mind a larger discussion around having real releases/versioning in this repo, and having master always work with latest master OVN. Otherwise we are going to be carrying a lot backwards compatibility/maintenance in the future.
@girishmg hmm, I could maybe add a way to check if the cluster has sctp feature enabled? what do you think? |
Does this PR make ovn-kubernetes require super-recent OVN just to start, or is it just that it requires super-recent OVN if you want SCTP load balancers to actually work? The latter seems fine to me. |
Requires it to even start. We make the load balancers when ovn-k8s starts, so if we cannot make the one for each protocol we will throw an error. |
For an OVN version that doesnt support SCTP. The svc will get marked with an event like this: Warning Unsupported protocol error 17s controlplane SCTP protocol is unsupported by this version of OVN |
@dcbw @danwinship @girishmg PTAL If the fixup looks ok then I will squash it and rebase my patch for final approval. |
@@ -107,6 +107,34 @@ func (oc *Controller) SetupMaster(masterNodeName string) error { | |||
return err | |||
} | |||
|
|||
// Determine SCTP support |
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.
@trozet could we put this in a function of it's own? like oc.SCTPSupport, err = detectSCTPSupport()
or something like that
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 I will do that when i squash/rebase. Will just wait for @girishmg review before I do that.
@trozet looks good to me, just one comment about pulling the "do we have SCTP support" into a separate function |
@trozet LGTM. Can you please collapse the commit 1 and 3 into 1, so that all the SCTP related changes are in one change and the fedora.dev changes can be a separate commit. |
9fa2ec4
to
02321fe
Compare
hmm hold while I look into this 1 failure |
Looking at the logs it looks like we never got the add endpoint event for 10.108.245.242 cluster ip session-affinity-service. Unfortunately we do not have great debug logs in endpoints code so I can't be 100% certain. I'm going to add another commit to improve debug logging there to this PR and see if we hit the failure again. I wonder if this has to do with our recent updates to use newer kapi and KIND still on the old kubernetes version. |
@trozet the client-go update should fix ovnkube itself for missing events on relist, but would have no effect on the kubernetes version that KIND is using. The fix in question should also only have an effect on relist, it doesn't change DeltaFIFO at all for normal processing. |
I meant more along the lines that we updated all the kapi versions: So of course now the test passes when I add the logging :) @dcbw we can either A) merge this and if we hit this again in CI we will have the improved logging to make more sense of it, or B) run manually retrigger these CI tests a few more times today and see if we hit it. What do you think? |
de0c777
to
b3aa5a9
Compare
This patch will detect if the current OVN version supports SCTP and then enable it for K8S services if so. If no support is detected and a user creates an SCTP service in k8s, a warning event will be recorded for the resource in k8s. Also cleans up and consolidates a bunch of duplicate logic for each protocol. Additionally, removes using self-defined constants for protocols and uses kapi versions for services. Closes: ovn-org#1120 Closes: ovn-org#1124 Signed-off-by: Tim Rozet <trozet@redhat.com>
Signed-off-by: Tim Rozet <trozet@redhat.com>
0a90c32
to
ab0378d
Compare
Adds debug logging for EPs. Signed-off-by: Tim Rozet <trozet@redhat.com>
ab0378d
to
c878a37
Compare
@dcbw as not able to reproduce the service failure again. Let's merge this and if we see it again in CI we can debug it further then. |
+1 |
…ter_annot_48 [release-4.8] Bug 2097018: Duplicated IPs can be assigned to multiple Pods
No description provided.