Skip to content

v1.12 Backports 2023-06-08 #26006

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

Merged
merged 5 commits into from
Jun 9, 2023
Merged

Conversation

YutaroHayakawa
Copy link
Member

@YutaroHayakawa YutaroHayakawa commented Jun 8, 2023

Once this PR is merged, you can update the PR labels via:

for pr in 25907 25893 25936; do contrib/backporting/set-labels.py $pr done 1.12; done

or with

make add-labels BRANCH=v1.12 ISSUES=25907,25893,25936

@YutaroHayakawa YutaroHayakawa added kind/backports This PR provides functionality previously merged into master. backport/1.12 labels Jun 8, 2023
@YutaroHayakawa YutaroHayakawa force-pushed the pr/v1.12-backport-2023-06-08 branch 2 times, most recently from ee7c1ab to 3bb04d7 Compare June 8, 2023 05:44
@YutaroHayakawa YutaroHayakawa marked this pull request as ready for review June 8, 2023 07:40
@YutaroHayakawa YutaroHayakawa requested a review from a team as a code owner June 8, 2023 07:41
@YutaroHayakawa
Copy link
Member Author

YutaroHayakawa commented Jun 8, 2023

/test-backport-1.12

Job 'Cilium-PR-K8s-1.18-kernel-4.9' failed:

Click to show.

Test Name

K8sPolicyTest Multi-node policy test with L7 policy using connectivity-check to check datapath

Failure Output

FAIL: cannot install connectivity-check

Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.18-kernel-4.9/35/

If it is a flake and a GitHub issue doesn't already exist to track it, comment /mlh new-flake Cilium-PR-K8s-1.18-kernel-4.9 so I can create one.

Then please upload the Jenkins artifacts to that issue.

Copy link
Contributor

@joamaki joamaki left a comment

Choose a reason for hiding this comment

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

Please merge #25896 first and then repick #25936.

@YutaroHayakawa YutaroHayakawa force-pushed the pr/v1.12-backport-2023-06-08 branch from 3bb04d7 to 716057d Compare June 8, 2023 10:38
@YutaroHayakawa
Copy link
Member Author

YutaroHayakawa commented Jun 8, 2023

/test-backport-1.12

Job 'Cilium-PR-K8s-1.22-kernel-4.9' failed:

Click to show.

Test Name

K8sPolicyTest Multi-node policy test with L7 policy using connectivity-check to check datapath

Failure Output

FAIL: cannot install connectivity-check

Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.22-kernel-4.9/21/

If it is a flake and a GitHub issue doesn't already exist to track it, comment /mlh new-flake Cilium-PR-K8s-1.22-kernel-4.9 so I can create one.

Then please upload the Jenkins artifacts to that issue.

Job 'Cilium-PR-K8s-1.20-kernel-4.9' failed:

Click to show.

Test Name

K8sHubbleTest Hubble Observe Test L3/L4 Flow

Failure Output

FAIL: Failed to retrieve DNS replicas via 'kubectl get deploy -n kube-system -l k8s-app=kube-dns -o jsonpath='{.items[*].status.replicas}'': strconv.Atoi: parsing "": invalid syntax

Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.20-kernel-4.9/35/

If it is a flake and a GitHub issue doesn't already exist to track it, comment /mlh new-flake Cilium-PR-K8s-1.20-kernel-4.9 so I can create one.

Then please upload the Jenkins artifacts to that issue.

@YutaroHayakawa
Copy link
Member Author

k8s-1.20-kernel-4.9: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.20-kernel-4.9/35/

k8s-1.22-kernel-4.9: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.22-kernel-4.9/21/

k8s-upstream: https://jenkins.cilium.io/job/Cilium-PR-K8s-Upstream/60/

  • Error: execution error at (cilium/templates/cilium-configmap.yaml:59:5): kubeproxyReplacement must be explicitly set to a valid value (disabled, partial, or strict) to continue.
  • This is concerning. Might be a regression. I'll check.

@YutaroHayakawa
Copy link
Member Author

/test-1.20-4.9

@YutaroHayakawa
Copy link
Member Author

/test-1.22-4.9

@YutaroHayakawa
Copy link
Member Author

Ohh, test/kubernetes-test.sh on this branch still uses kubeProxyReplacement=probe. So, we need to change the condition in this commit (34109fb).

Copy link
Member

@pchaigno pchaigno left a comment

Choose a reason for hiding this comment

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

My PR looks good. Thanks!

jrajahalme and others added 5 commits June 9, 2023 17:51
[ upstream commit f64e073 ]

[ backporter's note: Added kubeProxyReplacement=probe in the error
  condition since it is still valid in this branch. ]

Fail helm if kube-proxy-replacement is set or defaults to an invalid value.

kube-proxy-replacement can be defaulted to a deprecated (and since
removed) "probe" value. User can also set it into an incorrect value
explicitly. It is better to fail on helm than cilium agent failing to
start.

Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
[ upstream commit a579e9b ]

[ backporter's notes: Key rotation duration option doesn't exist on this
  branch, so I deleted them. Also, this PR contains the commit that
  defines key rotation duration. I talked with the original author and
  dropped that commit because it was accidentally introduced. ]

The IPsec key watcher is used to automatically detect and apply changes
in the key (typically during key rotations). Having this watcher avoids
having to restart the agents to apply the key change.

It can however be desired to only apply the key change when the agent is
restarted. It gives control to the user on when exactly the change
happens. It may also be used as a way to switch from one IPsec
implementation to another (XFRM configs specifically): the user rotates
the key just before the upgrade; on upgrade, the SPI is implicitly used
to distinguish between the old and new implementations as well as the
old and new keys.

Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
[ upstream commit 3ee2fb7 ]

[ backporter's notes: Fixed minor conflict in Helm template ]

This commit adds a Helm value for the enable-ipsec-key-watcher agent
flag introduced in the previous commit.

Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
[ upstream commit 4704655 ]

[ backporter's note: Adjusted function fixture. Also I dropped the
  second commit on this PR since reloadIPSecOnLinkChanges() is not used
  in this branch. ]

Now that the code is reloading the bpf_network program at runtime we
should not fatal if we fail to reload the program since this may be caused
by ongoing interface changes (e.g. interface was being removed). Change
the log.Fatal into log.Error and keep loading to other interfaces.

Fixes: bf0940b ("loader: Reinitialize IPsec on device changes on ENI")
Signed-off-by: Jussi Maki <jussi@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
[ upstream commit 592777d ]

reloadIPSecOnLinkChanges() did not ignore veth device updates causing
reload to be triggered when new endpoints were created. Ignore any
updates with "veth" as device type.

The draining of updates during settle wait was broken due to unintentional
breaking out of the loop. Removed the break.

Fixes: bf0940b ("loader: Reinitialize IPsec on device changes on ENI")
Signed-off-by: Jussi Maki <jussi@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
@YutaroHayakawa YutaroHayakawa force-pushed the pr/v1.12-backport-2023-06-08 branch from 716057d to 8c4bf93 Compare June 9, 2023 08:53
@YutaroHayakawa
Copy link
Member Author

Fixed the backport error in bbce1e0. TL;DR: kubeProxyReplacement=probe is still valid in this branch.

@YutaroHayakawa
Copy link
Member Author

/test-backport-1.12

@YutaroHayakawa YutaroHayakawa added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Jun 9, 2023
@dylandreimerink dylandreimerink merged commit bd8bd01 into v1.12 Jun 9, 2023
@dylandreimerink dylandreimerink deleted the pr/v1.12-backport-2023-06-08 branch June 9, 2023 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/backports This PR provides functionality previously merged into master. ready-to-merge This PR has passed all tests and received consensus from code owners to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants