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

Set OVS max revalidator delay to 200ms #1584

Merged

Conversation

antoninbas
Copy link
Contributor

The default value (500ms) causes a K8s upstream conformance test to fail
and may increase the risk of users reporting issues if they think
SessionAffinity is not implemented properly. Of course there is still a
delay before a learned flow is installed in the datapath flow cache and
takes effect, but the delay is at least smaller now. This delay cannot
be avoided when using the learn action.

Reducing the delay to 200ms may have an impact on performance with a
large number of datapath flows. Hopefully this impact is not
significant. There are other measures we could investigate if we notice
performance issues (e.g. reduce the max-idle delay for cached datapath
flows to reduce the size of the cache).

Fixes #1583

The default value (500ms) causes a K8s upstream conformance test to fail
and may increase the risk of users reporting issues if they think
SessionAffinity is not implemented properly. Of course there is still a
delay before a learned flow is installed in the datapath flow cache and
takes effect, but the delay is at least smaller now. This delay cannot
be avoided when using the learn action.

Reducing the delay to 200ms may have an impact on performance with a
large number of datapath flows. Hopefully this impact is not
significant. There are other measures we could investigate if we notice
performance issues (e.g. reduce the max-idle delay for cached datapath
flows to reduce the size of the cache).

Fixes antrea-io#1583
@antrea-bot
Copy link
Collaborator

Thanks for your PR.
Unit tests and code linters are run automatically every time the PR is updated.
E2e, conformance and network policy tests can only be triggered by a member of the vmware-tanzu organization. Regular contributors to the project should join the org.

The following commands are available:

  • /test-e2e: to trigger e2e tests.
  • /skip-e2e: to skip e2e tests.
  • /test-conformance: to trigger conformance tests.
  • /skip-conformance: to skip conformance tests.
  • /test-all-features-conformance: to trigger conformance tests with all alpha features enabled.
  • /skip-all-features-conformance: to skip conformance tests with all alpha features enabled.
  • /test-whole-conformance: to trigger all conformance tests on linux.
  • /skip-whole-conformance: to skip all conformance tests on linux.
  • /test-networkpolicy: to trigger networkpolicy tests.
  • /skip-networkpolicy: to skip networkpolicy tests.
  • /test-windows-conformance: to trigger windows conformance tests.
  • /skip-windows-conformance: to skip windows conformance tests.
  • /test-windows-networkpolicy: to trigger windows networkpolicy tests.
  • /skip-windows-networkpolicy: to skip windows networkpolicy tests.
  • /test-hw-offload: to trigger ovs hardware offload test.
  • /skip-hw-offload: to skip ovs hardware offload test.
  • /test-all: to trigger all tests (except whole conformance).
  • /skip-all: to skip all tests (except whole conformance).

@codecov-io
Copy link

codecov-io commented Nov 20, 2020

Codecov Report

Merging #1584 (566a05f) into master (9d3d10b) will increase coverage by 1.09%.
The diff coverage is 55.55%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1584      +/-   ##
==========================================
+ Coverage   63.31%   64.41%   +1.09%     
==========================================
  Files         170      181      +11     
  Lines       14250    15281    +1031     
==========================================
+ Hits         9023     9843     +820     
- Misses       4292     4413     +121     
- Partials      935     1025      +90     
Flag Coverage Δ
e2e-tests 47.62% <31.30%> (?)
kind-e2e-tests 53.17% <49.84%> (-2.21%) ⬇️
unit-tests 40.47% <12.23%> (-0.81%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
cmd/antrea-agent/agent.go 0.00% <0.00%> (ø)
cmd/antrea-agent/options.go 21.69% <0.00%> (+0.97%) ⬆️
pkg/agent/config/node_config.go 100.00% <ø> (ø)
pkg/agent/stats/collector.go 97.72% <ø> (ø)
pkg/controller/networkpolicy/tier.go 100.00% <ø> (+10.00%) ⬆️
pkg/features/antrea_features.go 16.66% <ø> (ø)
pkg/ovs/openflow/ofctrl_builder.go 61.67% <0.00%> (-0.50%) ⬇️
pkg/ovs/openflow/ofctrl_group.go 48.57% <0.00%> (-4.56%) ⬇️
pkg/ovs/openflow/ofctrl_action.go 68.90% <17.14%> (+7.55%) ⬆️
pkg/agent/agent.go 55.38% <30.00%> (+6.67%) ⬆️
... and 75 more

Copy link
Member

@tnqn tnqn left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for root causing the issue.

@antoninbas
Copy link
Contributor Author

/test-all

@antoninbas
Copy link
Contributor Author

/test-conformance

@antoninbas antoninbas merged commit 4e18081 into antrea-io:master Nov 20, 2020
@antoninbas antoninbas deleted the increase-ovs-revalidator-max-delay branch November 20, 2020 04:37
antoninbas added a commit that referenced this pull request Dec 23, 2020
The default value (500ms) causes a K8s upstream conformance test to fail
and may increase the risk of users reporting issues if they think
SessionAffinity is not implemented properly. Of course there is still a
delay before a learned flow is installed in the datapath flow cache and
takes effect, but the delay is at least smaller now. This delay cannot
be avoided when using the learn action.

Reducing the delay to 200ms may have an impact on performance with a
large number of datapath flows. Hopefully this impact is not
significant. There are other measures we could investigate if we notice
performance issues (e.g. reduce the max-idle delay for cached datapath
flows to reduce the size of the cache).

Fixes #1583
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants