-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
test: Reduce build durations #14223
test: Reduce build durations #14223
Conversation
8283f9c
to
ca9e3ab
Compare
|
I'm probably missing some context here, but from what I can tell the idea here is to run tests that do not depend on specific kernel versions on GKE so that we run them only once, instead for every different kernel that we test. Is this correct? Also, out of curiosity, is there a reason that we run them in GKE instead of running them on a single kernel version? |
That's correct.
Good question. I don't have a strong preference on the location, but:
|
I don't think we need to run them on all kernels. However, I would prefer to have them being run on both a kernel that supports the kube-proxy replacement (i.e. one that does HostReachableServices) and one without. The trace events that the data path emits (and that hubble observes) are different when you have HostReachableServices vs. when you don't. |
Makes sense 👍 |
Yes, |
9dc9b50
to
946c120
Compare
Done. Thanks for taking a look @gandro! 🙏 |
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.
Just two minor nits. I don't think is worth redoing the PR for them.
24bacd6
to
ec435b5
Compare
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.
Hubble related changes look good to me!
And make use of the new RunsOnGKE/DoesNotRunOnGKE helpers in existing testing code. Signed-off-by: Paul Chaignon <paul@cilium.io>
The Hubble tests check packet trace events that change depending on whether our kube-proxy replacement is used. We thus run those tests both on GKE (with our kube-proxy replacement) and on 4.9 (without). We however don't need to run on all our kernel versions. This commit only moves all the initialization code into the Hubble Observe Context, merging BeforeAlls, AfterAll, and variables. Signed-off-by: Paul Chaignon <paul@cilium.io>
These tests should not be impacted by kernel versions and are therefore safe to test only on GKE. The three test suites also needed to be reorganized to avoid installing Cilium when the tests are skipped. To that effect, all tests are moved into a new Context block. Signed-off-by: Paul Chaignon <paul@cilium.io>
In K8sConformance, we skip the tests inside the It blocks instead of using SkipIfIf. Because of that, ginkgo executes the BeforeAll/BeforeEach blocks before figuring out the It blocks are skipped anyway. This commit fixes it by using SkipContextIf with all It blocks inside. Signed-off-by: Paul Chaignon <paul@cilium.io>
Signed-off-by: Paul Chaignon <paul@cilium.io>
ec435b5
to
683c1e9
Compare
Runtime-4.9 failed because of known flake #14125. The rest is green. |
Summary of commits: