Skip to content
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

Fix e2e failures seen with OCP OVN-IC deployments #2681

Merged
merged 2 commits into from
Sep 13, 2023

Conversation

sridhargaddam
Copy link
Member

When a client pod attempts to establish a connection with a service in the remote cluster, it has been observed that the response traffic is being discarded at the local Gateway node. The return traffic is getting dropped because of some DROP rules in the FORWARDing chain of the filter table (which seems to have been added recently in the OVN OCP deployments).

Submariner normally has rules to allow such traffic, but with the new architecture designed to support OVN-IC deployments, we no longer use the ovn-k8s-sub0 iface and simply use the ovn-k8s-mp0 interface. This PR updates the firewall rules accordingly to allow the return traffic on the Gateway node.

When a client pod attempts to establish a connection with a
service in the remote cluster, it has been observed that the
response traffic is being discarded at the local Gateway node.
The return traffic is getting dropped because of some DROP rules
in the FORWARDing chain of the filter table (which seems to have
been added recently in the OVN OCP deployments).

Submariner normally has rules to allow such traffic, but with the
new architecture designed to support OVN-IC deployments, we no
longer use the ovn-k8s-sub0 iface and simply use the ovn-k8s-mp0
interface. This PR updates the firewall rules accordingly to allow
the return traffic on the Gateway node.

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
@submariner-bot
Copy link
Contributor

🤖 Created branch: z_pr2681/sridhargaddam/fix-ovn-ic-dataplane
🚀 Full E2E won't run until the "ready-to-test" label is applied. I will add it automatically once the PR has 2 approvals, or you can add it manually.

@sridhargaddam sridhargaddam added the backport This change requires a backport to eligible release branches label Sep 12, 2023
@submariner-bot submariner-bot added the ready-to-test When a PR is ready for full E2E testing label Sep 12, 2023
@vthapar vthapar enabled auto-merge (squash) September 13, 2023 05:38
@sridhargaddam sridhargaddam marked this pull request as draft September 13, 2023 06:47
auto-merge was automatically disabled September 13, 2023 06:47

Pull request was converted to draft

This PR includes the remote cluster CIDRs as part of
the OVN iptable rules, so that only Submariner traffic
is processed by these rules.

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
@sridhargaddam sridhargaddam marked this pull request as ready for review September 13, 2023 10:43
for _, remoteCIDR := range ovn.getRemoteSubnets().UnsortedList() {
rules = append(rules,
[]string{
"-d", remoteCIDR, "-i", OVNK8sMgmntIntfName, "-o", ovn.cableRoutingInterface.Name, "-j", "ACCEPT",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not deeply familiar with OVN architecture, does using 'remoteCIDR' should work also with GlobalNet ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it will work with Globalnet as well. In Globalnet deployments, remoteCIDR will point to globalCIDR of remote clusters.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I know that remoteCIDR point to globalCIDR, wasn't sure if we hit these rules before or after GN natting,
if we hit them before GN natting I guess it should be OK.
Thanks

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack. I verified this PR both on Globalnet and non-Globalnet deployments.

@sridhargaddam sridhargaddam merged commit b75ee3f into submariner-io:devel Sep 13, 2023
38 checks passed
@submariner-bot
Copy link
Contributor

🤖 Closed branches: [z_pr2681/sridhargaddam/fix-ovn-ic-dataplane]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport This change requires a backport to eligible release branches backport-handled ready-to-test When a PR is ready for full E2E testing
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants