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

v1.16 Backports 2025-01-07 #36872

Merged
merged 10 commits into from
Jan 15, 2025
Merged

v1.16 Backports 2025-01-07 #36872

merged 10 commits into from
Jan 15, 2025

Conversation

@viktor-kurchenko viktor-kurchenko added kind/backports This PR provides functionality previously merged into master. backport/1.16 This PR represents a backport for Cilium 1.16.x of a PR that was merged to main. labels Jan 7, 2025
@julianwiedmann
Copy link
Member

* [ ]  [gh: e2e-upgrade: add coverage for 6.6 kernel #36626](https://github.com/cilium/cilium/pull/36626) (@julianwiedmann) ⚠️ resolved conflicts

Not seeing the patch in this PR though ;)

Copy link
Member

@giorio94 giorio94 left a comment

Choose a reason for hiding this comment

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

My commits look good, thanks!

@viktor-kurchenko
Copy link
Contributor Author

Not seeing the patch in this PR though ;)

@julianwiedmann sorry my bad.
I've added the commit but please double check it (I'm not sure if I did it right).

@viktor-kurchenko viktor-kurchenko force-pushed the pr/v1.16-backport-2025-01-07-04-07 branch from fd6cd12 to e6cef56 Compare January 7, 2025 16:25
Copy link
Member

@julianwiedmann julianwiedmann left a comment

Choose a reason for hiding this comment

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

lgtm, thank you!

@viktor-kurchenko viktor-kurchenko marked this pull request as ready for review January 7, 2025 16:28
@viktor-kurchenko viktor-kurchenko requested review from a team as code owners January 7, 2025 16:28
@viktor-kurchenko
Copy link
Contributor Author

/test

giorio94 and others added 8 commits January 9, 2025 11:31
[ upstream commit 3a73f24 ]

We have been recently witnessing a few conformance ipsec runs reporting
leaked packets. In order to simplify troubleshooting these issues, and
figure out whether they are legitimate or flakes, let's additionally
print whether the detected packet was encapsulated or not.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit 40a4df7 ]

We have been recently witnessing a few conformance ipsec runs reporting
leaked packets, with some referring to DNS answers from a coredns pod
to a CiliumInternalIP. To simplify troubleshooting these issues, and
figure out whether they are legitimate or flakes, let's additionally
print information about the DNS message itself, so that we can trace
down which component performed the request.

The output is along the lines of:

[10:27:49:245997] 10.244.1.67:49662 -> 10.244.0.10:53 (proto: 17, encap: 1, ifindex: 43, netns: f0000000)
[10:27:49:246003] Detected DNS message, ID: 17ef, Flags 120, QD: 1, AN: 0, NS: 0, AR: 1, query googlecom
[10:27:49:246315] 10.244.0.10:53 -> 10.244.1.67:49662 (proto: 17, encap: 1, ifindex: 45, netns: f0000000)
[10:27:49:246317] Detected DNS message, ID: 17ef, Flags 8580, QD: 1, AN: 1, NS: 0, AR: 1, query googlecom

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit 483b009 ]

Normally, the script only flags traffic whose source and destination IP
addresses belong to the PodCIDR and, when encapsulation is enabled, don't
match the CiliumInternalIPs specified as parameters. However, this filter
is overridden when the traffic comes from a proxy, so that it gets
flagged even in case it is subsequently masqueraded. Let's additionally
output whether displayed traffic got actually flagged due to this reason,
to simplify troubleshooting possible flakes.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit b780df6 ]

Let's additionally output the TCP flags in case of leaked traffic, as
potentially useful while troubleshooting possible flakes.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit 055b7a3 ]

In each iteration of pod in function processConfigWithSinglePort and
processConfigWithNamedPorts bes4 and bes6 need to be cleared. Otherwise,
when size of pods is larger than one, aka when the iteration time is
more than one, bes4 and bes6 will aggregate all of the backends.

For example, in the first iteration backend 10.0.2.250:80 is added, then
in the second iteration [10.0.2.250:80, 10.0.2.199:80] are added.
10.108.13.48:80  LocalRedirect  1 => 10.0.2.199:80
                                2 => 10.0.2.250:80
                                3 => 10.0.2.250:80

Fixes: e7bb8a7 ("k8s/cilium Event handlers and processing logic for LRPs")

Signed-off-by: Zijian Zhang <zijianzhang@bytedance.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit a3489f1 ]

Without CORS headers browsers will prevent calling hubble ui backend api on another domain.

Signed-off-by: Dmitry Kharitonov <dmitry@isovalent.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
…parated string

[ upstream commit 5c08f95 ]

Signed-off-by: John Roche <john.roche@swyftx.com.au>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit ec4b782 ]

DNS polling was deprecated in v1.8 (#8604) and
removed in v1.9 (#13229).

Signed-off-by: Jacob Henner <code@ventricle.us>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
alagoutte and others added 2 commits January 9, 2025 11:31
[ upstream commit 550d2f5 ]

Signed-off-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
[ upstream commit cdecbcb ]

GNU make on the host may use --jobserver-style=fifo (default on my
machine). It also implies --jobserver-auth=fifo:/tmp/GMfifo$MAKE_PID,
an undocumented flag, used internally by make and passed to the child
instances of make. This flag appears in $(MAKEFLAGS).

The cilium-build target in Documentation/Makefile passes MAKEFLAGS to
another make instance, called in a docker image. The problem is that
--jobserver-auth passed to make inside docker points to a file that
doesn't exist in the container filesystem namespace, and make fails with
an error like this:

make: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo361142'.  Stop.
make: *** [Makefile:48: cilium-build] Error 2
make: Leaving directory '/home/max/.opt/go/src/github.com/cilium/cilium-snat/Documentation'

Fix this by filtering out --jobserver-auth=... from MAKEFLAGS when
passing it to make inside docker.

Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
@viktor-kurchenko viktor-kurchenko force-pushed the pr/v1.16-backport-2025-01-07-04-07 branch from e6cef56 to 9365b3a Compare January 9, 2025 10:32
@viktor-kurchenko
Copy link
Contributor Author

/test

@viktor-kurchenko
Copy link
Contributor Author

Looks like connectivity tests constantly fail in the E2E upgrade workflow after downgrade for the kernel: 30, 6.6-20241212.120648.
@julianwiedmann any ideas what might be wrong?

@viktor-kurchenko
Copy link
Contributor Author

/test

@julianwiedmann
Copy link
Member

Looks like connectivity tests constantly fail in the E2E upgrade workflow after downgrade for the kernel: 30, 6.6-20241212.120648. @julianwiedmann any ideas what might be wrong?

Sorry, missed this :/. Nothing obvious - let's drop that backport to unblock, and let me have a try manually.

(already discussed with @joamaki)

@joamaki joamaki force-pushed the pr/v1.16-backport-2025-01-07-04-07 branch from 9365b3a to ccc9759 Compare January 15, 2025 09:10
@joamaki
Copy link
Contributor

joamaki commented Jan 15, 2025

/test

@joamaki joamaki added this pull request to the merge queue Jan 15, 2025
Merged via the queue into v1.16 with commit ebdb725 Jan 15, 2025
280 checks passed
@joamaki joamaki deleted the pr/v1.16-backport-2025-01-07-04-07 branch January 15, 2025 14:36
@julianwiedmann
Copy link
Member

Looks like connectivity tests constantly fail in the E2E upgrade workflow after downgrade for the kernel: 30, 6.6-20241212.120648. @julianwiedmann any ideas what might be wrong?

fyi #36988 looks good now. Think it's the missing ingress endpoint on v1.15 that's needed for BPF Host Routing (see comment in the workflow file).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/1.16 This PR represents a backport for Cilium 1.16.x of a PR that was merged to main. kind/backports This PR provides functionality previously merged into master.
Projects
None yet
Development

Successfully merging this pull request may close these issues.