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 #6763: Install Pod flows after PortStatus message is #6858

Open
wants to merge 1 commit into
base: release-2.1
Choose a base branch
from

Conversation

wenyingd
Copy link
Contributor

Cherry pick of #6763 on release-2.1.

#6763: Install Pod flows after PortStatus message is

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

This change introduces a worker in `podConfigurator` to listen for the
OpenFlow PortStatus messages generated when new OpenFlow ports are allocated
in OVS. After receiving a message, the Windows antrea-agent will install Pod-related
OpenFlow entries. If the OpenFlow port is not allocated within 30s after the CmdAdd
request is handled, a K8s event with type "NetworkNotReady" is added on the Pod.
Whenever the Pod networking forwarding rules are installed, a K8s event with type
"NetworkIsReady" is added.

Signed-off-by: Wenying Dong <[email protected]>
@wenyingd wenyingd 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 Dec 13, 2024
@wenyingd
Copy link
Contributor Author

wenyingd commented Dec 13, 2024

@luolanzone @antoninbas @tnqn Do you feel it is required to back port this change (install OpenFlow entries for Pod via the OpenFlow PortStatus message on Windows) to release 2.1?

If yes, a challenge is the different version of golang, go version=1.21.0 on release 2.1, while go version=1.23.0 is used on release 2.2. So the question is shall we bump up go version in release 2.1 ? Or we can also back port the dependent changes (ofnet) to the releases which also uses go 1.21?

Note, the change itself doesn't have hard requirement on go 1.23

@tnqn
Copy link
Member

tnqn commented Dec 13, 2024

@wenyingd Will the issue be hit frequently or rarely without the fix?

@antoninbas
Copy link
Contributor

If the concern is the Go language version specifically, we have the following approaches possible:

  1. Update the go.mod file for libOpenflow and ofnet so that the go directive is back to 1.21 (and we add a toolchain directive set to 1.23.0), then release new versions and use them in Antrea. We can backport the 2 changes together to previous Antrea minor releases. This should work because libOpenflow / ofnet don't use any of the new Go 1.22 / 1.23 features AFAIK.
  2. Release ofnet 0.12.1, which would include Wenying's change but not the Go version update. I don't like this approach because Wenying's change was a new feature and not a patch.

The decision to backport or not should be based on how serious the issue being fixed is, how likely it is to occur, and whether or not there is a simple workaround. Hence Quan's question.

@wenyingd
Copy link
Contributor Author

@wenyingd Will the issue be hit frequently or rarely without the fix?

In my mind, we now hit the issue twice, one was on a scale setup with 7/150 Nodes we observed the issue , the other was on a setup with limited resources that 2 CPU / 4 GB memory was allocated per Windows Node.

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.

3 participants