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

Automated cherry pick of #4419: Set NO_FLOOD to IPsec tunnel ports #4470: Fix that Service routes may get lost when starting on Windows #4654: Restore NO_FLOOD to OVS ports after reconnecting the OVS #4711: Fix route deletion for Service ClusterIP and LoadBalancerIP #4760

Conversation

luolanzone
Copy link
Contributor

@luolanzone luolanzone commented Mar 24, 2023

Cherry pick of #4419 #4470 #4618 #4654 #4711 #4697 #4674 on release-1.10.

#4419: Set NO_FLOOD to IPsec tunnel ports
#4470: Fix that Service routes may get lost when starting on Windows
#4618: Wait for Pod update in MCNP UT
#4654: Restore NO_FLOOD to OVS ports after reconnecting the OVS
#4711: Fix route deletion for Service ClusterIP and LoadBalancerIP
#4697: Fix windows image building error in jenkins pipeline
#4674: Ensure OVS port is valid before setting NO_FLOOD

For details on the cherry pick process, see the cherry pick requests page.

xliuxu and others added 4 commits March 24, 2023 17:21
Set NO_FLOOD to IPsec tunnel ports to avoid ARP flooding.

Signed-off-by: Xu Liu <xliu2@vmware.com>
Fix antrea-io#4467

Signed-off-by: Hongliang Liu <lhongliang@vmware.com>
The NO_FLOOD configuration is lost when the OVS daemon is restarted.
Currently, the only way to recover this configuration is by restarting
the agent. This pull request adds logic to recover the configuration
when receiving OVS reconnection events.

Signed-off-by: Xu Liu <xliu2@vmware.com>
When proxyAll is enabled, AntreaProxy needs to install routes in the
host network namespace to redirect traffic to OVS for load balancing.
For a Service with multiple ports, multiple ServicePorts are generated
and processed. The previous code installed the route for a ClusterIP or
a LoadBalancerIP multiple times when such a Service was created, and
uninstalled the route multiple times when it was deleted, leading to a
few problems.

This patch adds a serviceIPRouteReferences which tracks the references
of Service IPs' routes. The key is the Service IP and the value is the
the set of ServiceInfo strings. With the references, we install a route
exactly once as long as it's used by any ServicePorts and uninstall it
exactly once when it's no longer used by any ServicePorts.

This patch also fixes an issue that the route for ClusterIP was not
removed on Windows Nodes after the Service was removed.

Fixes antrea-io#4361

Signed-off-by: Quan Tian <qtian@vmware.com>
@luolanzone luolanzone added the kind/cherry-pick Categorizes issue or PR as related to the cherry-pick of a bug fix from the main branch to a release label Mar 24, 2023
@codecov
Copy link

codecov bot commented Mar 24, 2023

Codecov Report

Merging #4760 (330b793) into release-1.10 (f463491) will decrease coverage by 2.48%.
The diff coverage is 42.96%.

❗ Current head 330b793 differs from pull request most recent head 21916c0. Consider uploading reports for the commit 21916c0 to get more accurate results

Impacted file tree graph

@@               Coverage Diff                @@
##           release-1.10    #4760      +/-   ##
================================================
- Coverage         66.84%   64.36%   -2.48%     
================================================
  Files               404      394      -10     
  Lines             58231    57763     -468     
================================================
- Hits              38927    37182    -1745     
- Misses            16522    17903    +1381     
+ Partials           2782     2678     -104     
Flag Coverage Δ *Carryforward flag
integration-tests 34.57% <2.56%> (+0.03%) ⬆️
kind-e2e-tests 47.77% <ø> (+6.72%) ⬆️ Carriedforward from f463491
unit-tests 55.13% <43.18%> (-1.66%) ⬇️

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
cmd/antrea-agent/agent.go 0.00% <0.00%> (ø)
pkg/agent/agent.go 51.40% <0.00%> (-1.16%) ⬇️
pkg/agent/interfacestore/interface_cache.go 96.20% <25.00%> (-1.17%) ⬇️
pkg/agent/route/route_linux.go 52.85% <33.33%> (-18.05%) ⬇️
pkg/agent/proxy/proxier.go 75.83% <53.84%> (+8.65%) ⬆️
...gent/controller/noderoute/node_route_controller.go 60.00% <60.00%> (+2.56%) ⬆️
pkg/agent/route/route_windows.go 37.30% <75.00%> (+2.65%) ⬆️
pkg/agent/interfacestore/types.go 100.00% <100.00%> (ø)
pkg/agent/util/net.go 57.19% <100.00%> (+9.09%) ⬆️

... and 93 files with indirect coverage changes

GraysonWu and others added 3 commits March 24, 2023 21:30
Signed-off-by: graysonwu <wgrayson@vmware.com>
DOCKER_REGISTRY is no longer needed in agent image tag.
Remove it to align with containerd image tag in CI pipeline.

Update more image tags which is unavailable in public repo.

Fixes antrea-io#4696

Signed-off-by: Shuyang Xin <gavinx@vmware.com>
There could be some cases that OVS ports are left invalid. Setting
NO_FLOOD for these ports will fail for sure and restarting agents would
just meet the same error. Later we should enhance the port cleanup
logic, either when they are firstly identified, or when their owners do
the initialization. For now, as there could be invalid ports in
interface cache, we should ensure a port is valid before setting
NO_FLOOD.

Signed-off-by: Quan Tian <qtian@vmware.com>
@tnqn
Copy link
Member

tnqn commented Mar 31, 2023

/skip-all

@tnqn tnqn merged commit 24280d2 into antrea-io:release-1.10 Mar 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cherry-pick Categorizes issue or PR as related to the cherry-pick of a bug fix from the main branch to a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants