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
ci: Add workflow for testing multi-pool IPAM #26175
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gandro
added
area/CI
Continuous Integration testing issue or flake
area/CI-improvement
Topic or proposal to improve the Continuous Integration workflow
release-note/ci
This PR makes changes to the CI.
sig/ipam
IP address management, including cloud IPAM
release-blocker/1.14
This issue will prevent the release of the next version of Cilium.
area/ipam
Impacts IP address management functionality.
labels
Jun 13, 2023
gandro
force-pushed
the
pr/gandro/multi-pool-ci-workflow
branch
14 times, most recently
from
June 15, 2023 15:36
b9066f3
to
56da680
Compare
gandro
force-pushed
the
pr/gandro/multi-pool-ci-workflow
branch
6 times, most recently
from
June 20, 2023 08:51
b3aa8b6
to
e291eba
Compare
tklauser
approved these changes
Jun 21, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice! LGTM apart from a small comment on kind versioning.
This adds a new GitHub Actions workflow (with `pull_request` trigger) which tests the new multi-pool IPAM feature added in #22762. The feature does have unit test coverage as well, but since it does have implications on routing and masquerading (see `Notes:` section in workflow), we also want to test the feature end-to-end to ensure it interacts correctly with those systems. The workflow sets up a regular kind cluster and installs Cilium with Multi-Pool IPAM enabled in it. It then runs a version of the connectivity test that allocates the test pod IPs from non-default pools. This tests that routing and masquerading works for non-default pools. The workflow then validates that the pod IPs have been allocated from the correct pool, to ensure we don't report false positives in case the connectivity test annotation did not take effect. At the moment, this workflow runs on every PR. It is an open question if it should run on a comment trigger instead. During testing, it only had a run-time of about 15 minutes, 5 minutes of which were spent waiting on the images to be ready. Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
gandro
force-pushed
the
pr/gandro/multi-pool-ci-workflow
branch
from
June 21, 2023 12:40
e291eba
to
704fea9
Compare
Pushed the suggested diff --git a/.github/workflows/conformance-multi-pool.yaml b/.github/workflows/conformance-multi-pool.yaml
index 1ca629d72f64..5f836788a510 100644
--- a/.github/workflows/conformance-multi-pool.yaml
+++ b/.github/workflows/conformance-multi-pool.yaml
@@ -24,7 +24,8 @@ env:
# renovate: datasource=github-releases depName=cilium/cilium-cli
cilium_cli_version: v0.14.7
cilium_cli_ci_version:
- kind_version: v0.17.0
+ # renovate: datasource=github-releases depName=kubernetes-sigs/kind
+ kind_version: v0.19.0
kind_config: .github/kind-config.yaml
timeout: 5m |
nbusseneau
approved these changes
Jun 22, 2023
Reviews are in, the CI workflow added here is green (see PR description) and no other tests are affected by this. Marking ready-to-merge |
gandro
added
the
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
label
Jun 22, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/CI
Continuous Integration testing issue or flake
area/CI-improvement
Topic or proposal to improve the Continuous Integration workflow
area/ipam
Impacts IP address management functionality.
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
release-blocker/1.14
This issue will prevent the release of the next version of Cilium.
release-note/ci
This PR makes changes to the CI.
sig/ipam
IP address management, including cloud IPAM
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a new GitHub Actions workflow (with
pull_request
trigger) which tests the new multi-pool IPAM feature added in #22762. The feature does have unit test coverage as well, but since it does have implications on routing and masquerading (seeNotes:
section in workflow), we also want to test the feature end-to-end to ensure it interacts correctly with those systems.The workflow sets up a regular kind cluster and installs Cilium with Multi-Pool IPAM enabled in it. It then runs a version of the connectivity test that allocates the test pod IPs from non-default pools. This tests that routing and masquerading works for non-default pools. The workflow then validates that the pod IPs have been allocated from the correct pool, to ensure we don't report false positives in case the connectivity test annotation did not take effect.
At the moment, this workflow runs on every PR. It is an open question if it should run on a comment trigger instead. During testing, it only had a run-time of about 15 minutes, 5 minutes of which were spent waiting on the images to be ready.