Skip to content

Conversation

sayboras
Copy link
Member

@sayboras sayboras commented Jun 10, 2022

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

$ for pr in 20142; do contrib/backporting/set-labels.py $pr done 1.11; done

@sayboras sayboras requested a review from a team as a code owner June 10, 2022 00:33
@maintainer-s-little-helper maintainer-s-little-helper bot added backport/1.11 kind/backports This PR provides functionality previously merged into master. labels Jun 10, 2022
@sayboras sayboras changed the title envoy: Bump cilium envoy to latest version v1.21.3 [backport 1.11] envoy: Bump cilium envoy to latest version v1.21.3 Jun 10, 2022
@sayboras
Copy link
Member Author

/test-backport-1.11

@sayboras
Copy link
Member Author

sayboras commented Jun 10, 2022

/test-backport-1.11

Job 'Cilium-PR-Runtime-net-next' failed:

Click to show.

Test Name

RuntimePrivilegedUnitTests Run Tests

Failure Output

FAIL: Failed to run privileged unit tests

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

Job 'Cilium-PR-Runtime-net-next' failed:

Click to show.

Test Name

RuntimePrivilegedUnitTests Run Tests

Failure Output

FAIL: Failed to run privileged unit tests

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

Copy link
Member

@joestringer joestringer left a comment

Choose a reason for hiding this comment

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

Looks good, can you update the description to point to the original PR like the other backports? (```upstream-prs``` and whatnot, so the release-notes work)

@joestringer
Copy link
Member

joestringer commented Jun 10, 2022

The CI failures are a bit suspect, are those passing on the v1.11 branch? 🤔

EDIT: Oh, it's just 4.9... I wonder if something got messed up for all of those ones. Or that visibility feature is somehow not supported on that kernel version.. hmm.

EDIT2: Never mind, the jobs that pass probably just don't run those tests. net-next also fails. Definitely looks like something gets messed up.

Runtime test also looks weird, timed out after ten minutes?

@joestringer
Copy link
Member

joestringer commented Jun 10, 2022

https://jenkins.cilium.io/job/Cilium-PR-K8s-1.18-kernel-4.9/2083/testReport/junit/Suite-k8s-1/18/K8sPolicyTest_Basic_Test_Traffic_redirections_to_proxy_Tests_HTTP_proxy_visibility_without_policy/

Top 1 errors/warnings:
[[C15] cilium.network: Policy NOT FOUND for id: 9326 port: 80

I'm not quite sure what this means or why it only shows up in 1.11, but it looks like an Envoy (maybe Envoy configuration from Cilium?) issue.

@sayboras
Copy link
Member Author

@sayboras
Copy link
Member Author

/test-1.16-netnext

@sayboras
Copy link
Member Author

/test-runtime

[ upstream commit abfdcd2 ]

Visibility annotation should add port rules to gain protocol/parser
specific visibility, and not drop the allow-all policy generated
without visibility policies.

This did not matter when only port-specific traffic was redirected to
Envoy, but with policy enforcement in L7 LB we explicitly need the
allow-all rule to pass traffic for which no specific L7 policy
applies.

Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
@jrajahalme
Copy link
Member

/test

@jrajahalme
Copy link
Member

https://jenkins.cilium.io/job/Cilium-PR-K8s-1.18-kernel-4.9/2083/testReport/junit/Suite-k8s-1/18/K8sPolicyTest_Basic_Test_Traffic_redirections_to_proxy_Tests_HTTP_proxy_visibility_without_policy/

Top 1 errors/warnings:
[[C15] cilium.network: Policy NOT FOUND for id: 9326 port: 80

I'm not quite sure what this means or why it only shows up in 1.11, but it looks like an Envoy (maybe Envoy configuration from Cilium?) issue.

This was an unforeseen incompatibility with this change in cilium/proxy (made after v1.11) and this change to support visibility policies for proxylib parsers (in cilium v1.11). This latter change broke the assumption that Cilium agent always creates an allow-all policy when policy enforcement is disabled, and changed to create a port-specific rule instead, but only for proxylib parsers. For L7 LB we needed to actually rely on that assumption, removing a special case originally added for Istio sidecars that allowed traffic if no policy was found.

Backporting envoy: Include allow-all policy with visibility policies as well fixed this in my local testing. Versions prior to v1.11 are not affected as they do not have the proxylib visibility support commit.

@sayboras
Copy link
Member Author

/test-1.24-4.19

@sayboras
Copy link
Member Author

/test-runtime

@jrajahalme
Copy link
Member

jrajahalme commented Jun 13, 2022

/test-backport-1.11

Job 'Cilium-PR-K8s-1.16-net-next' hit: #18889 (95.01% similarity)

@sayboras
Copy link
Member Author

Some failures are shown mainly due to /test command was used instead of /test-backport-1-11:

@aanm aanm merged commit 917a5ca into v1.11 Jun 13, 2022
@aanm aanm deleted the pr/v1.11-backport-2022-06-10 branch June 13, 2022 14:32
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants