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

Backport v1.13: CI: Add IPsec key rotation test #28120

Merged
merged 5 commits into from Sep 29, 2023
Merged

Conversation

jschwinger233
Copy link
Member

@jschwinger233 jschwinger233 commented Sep 12, 2023

@maintainer-s-little-helper maintainer-s-little-helper bot added backport/1.13 This PR represents a backport for Cilium 1.13.x of a PR that was merged to main. kind/backports This PR provides functionality previously merged into master. labels Sep 12, 2023
@jschwinger233
Copy link
Member Author

/ci-ipsec-e2e

@jschwinger233
Copy link
Member Author

/ci-ipsec-upgrade

@jschwinger233
Copy link
Member Author

/ci-ipsec-upgrade

@jschwinger233
Copy link
Member Author

/ci-ipsec-e2e

@jschwinger233
Copy link
Member Author

/ci-ipsec-e2e

@jschwinger233
Copy link
Member Author

/ci-ipsec-e2e

@jschwinger233
Copy link
Member Author

/test-backport-1.13

@jschwinger233
Copy link
Member Author

/test-backport-1.13

@jschwinger233
Copy link
Member Author

/test-backport-1.13

@jschwinger233
Copy link
Member Author

/test-backport-1.13

@jschwinger233
Copy link
Member Author

/test-backport-1.13

@jschwinger233
Copy link
Member Author

/ci-ipsec-upgrade

@jschwinger233
Copy link
Member Author

This PR only affects ci-ipsec-e2e and ci-ipsec-upgrade, both checks turned green: https://github.com/cilium/cilium/actions/runs/6182957826 and https://github.com/cilium/cilium/actions/runs/6183987556
So I set this PR ready for review.

@jschwinger233 jschwinger233 marked this pull request as ready for review September 14, 2023 11:14
@jschwinger233 jschwinger233 requested review from a team as code owners September 14, 2023 11:14
.github/workflows/tests-ipsec-upgrade.yaml Outdated Show resolved Hide resolved
@ldelossa ldelossa requested a review from aanm September 19, 2023 15:35
.github/workflows/tests-ipsec-upgrade.yaml Outdated Show resolved Hide resolved
@jschwinger233
Copy link
Member Author

/ci-ipsec-upgrade

@jschwinger233
Copy link
Member Author

jschwinger233 commented Sep 25, 2023

/test-backport-1.13

Job 'Cilium-PR-K8s-1.23-kernel-4.19' failed:

Click to show.

Test Name

K8sAgentChaosTest Restart with long lived connections TCP connection is not dropped when cilium restarts

Failure Output

FAIL: Pods are not ready after timeout

Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.23-kernel-4.19/308/

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

Then please upload the Jenkins artifacts to that issue.

@lmb
Copy link
Contributor

lmb commented Sep 26, 2023

/test-1.18-4.19

@lmb
Copy link
Contributor

lmb commented Sep 26, 2023

/test-1.23-4.19

@lmb
Copy link
Contributor

lmb commented Sep 26, 2023

/ci-ingress

jschwinger233 and others added 5 commits September 28, 2023 14:57
[ upstream commit 4c85662 ]

IPsec cases are moved from conformance-e2e.yaml to
conformance-ipsec-e2e.yaml, we can trigger the latter one using
/ci-ipsec-e2e.

Signed-off-by: Zhichuan Liang <gray.liang@isovalent.com>
[ upstream commit 48023b9 ]

This commit makes conn-disrupt-test a github action, so upgrade test
and IPsec key rotation test don't have to copy and paste everywhere.

The idea is to allow caller workflow to specify the commands to execute,
then this action will follow the steps:
1. Run "cilium-cli connectivity test --conn-disrupt-test-setup";
2. Run whatever caller workflow passes: could be upgrade operation or
   IPsec key rotation;
3. Run "cilium-cli connectivity test --include-conn-disrupt-test";

Signed-off-by: Zhichuan Liang <gray.liang@isovalent.com>
[ upstream commit de192de ]

[ backporter's notes:
    1. v1.13 doesn't allow kubeProxyReplacement=false, so it's changed
       to kubeProxyReplacement=disabled;
    2. v1.13 doesn't have cilium-spire, so delete related code;
]

This commit adds a step in conformance-ipsec-e2e to perform IPsec key
rotation and conn-disrupt-test.

The commands to perform IPsec key rotation are copied from
https://docs.cilium.io/en/latest/security/network/encryption-ipsec/#key-rotation with a few improvements:
* To pass commands with "$" character to conn-disrupt-test action, "$"
  must be escaped as "\$".
* To have a new IPsec key in a bare VM, a string of hex is hard coded
  without using xxd.

Fixes: #26350

Signed-off-by: Zhichuan Liang <gray.liang@isovalent.com>
[ upstream commit a4d543d ]

Signed-off-by: Zhichuan Liang <gray.liang@isovalent.com>
[ upstream commit 751c17c ]

Now that we cover the key rotations in the IPsec e2e tests, we are
running the connectivity test suite twice. That means we can run in the
usual bug where an existing CT entry is reused and leads to us sending
traffic to the proxy when we shouldn't.

Thus, we need to flush the CT entries at the end of the first test run,
with --flush-ct.

Fixes: de192de ("ci-ipsec-e2e: Add IPsec key rotation test")
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
@jschwinger233
Copy link
Member Author

/test-backport-1.13

@jschwinger233
Copy link
Member Author

/test-1.18-4.19

@jschwinger233
Copy link
Member Author

/ci-clustermesh

@jschwinger233
Copy link
Member Author

/test-1.18-4.19

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Sep 28, 2023
@aanm aanm merged commit d168114 into v1.13 Sep 29, 2023
132 of 133 checks passed
@aanm aanm deleted the pr/gray/v1.13-ipsec-e2e branch September 29, 2023 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/1.13 This PR represents a backport for Cilium 1.13.x of a PR that was merged to main. 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.

None yet

6 participants