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

E2E run serial tests in parallel suite #111944

Open
aojea opened this issue Aug 20, 2022 · 9 comments
Open

E2E run serial tests in parallel suite #111944

aojea opened this issue Aug 20, 2022 · 9 comments
Assignees
Labels
sig/testing Categorizes an issue or PR as relevant to SIG Testing. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@aojea
Copy link
Member

aojea commented Aug 20, 2022

GinkgoV1 doesn't support to run Serial and Parallel tests in the same suite, this caused us to set up different jobs for Serial tests.

@onsi implemented this long standing request in V2 , so users can run Serial tests at the same time, Ginkgo will do the magic

Serial allows the user to mark specs and containers of specs as only eligible to run in serial. Ginkgo will guarantee that these specs never run in parallel with other specs.

https://onsi.github.io/ginkgo/#the-serial-decorator

This can simplify a lot the maintenance of current test-infra jobs and help Conformance users

/sig testing

@k8s-ci-robot k8s-ci-robot added sig/testing Categorizes an issue or PR as relevant to SIG Testing. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Aug 20, 2022
@aojea
Copy link
Member Author

aojea commented Aug 20, 2022

/cc @pohly @chendave @BenTheElder @johnSchnake

@chendave since you already do the heavylifting for ginkgov2 check if this is something you are interested and feel free to assign it to yourself

@chendave
Copy link
Member

@aojea thanks Antonio! pls let me do some investigation first.

@BenTheElder
Copy link
Member

Since "serial" means "these tests are disruptive and can be the only test running at the time" it is inherently slow to run these ...

We also exclude these in some CI jobs because of the time it takes to run them ... 🤔

@aojea
Copy link
Member Author

aojea commented Aug 26, 2022

Since "serial" means "these tests are disruptive and can be the only test running at the time" it is inherently slow to run these ...

We also exclude these in some CI jobs because of the time it takes to run them ... thinking

oh, yeah, I forget about that, I was thinking in this open issue for Conformance #76344

so, these means we need to handle Dirsuptive and Slow too XD , or just do it only for Conformance, last time I've checked there were only 6 Serial tests in Conformance

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 24, 2022
@pohly
Copy link
Contributor

pohly commented Nov 24, 2022

/remove-lifecycle stale
/triage accepted
/assign

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 24, 2022
@pohly
Copy link
Contributor

pohly commented May 26, 2023

So what is the conclusion? Is it worthwhile to move serial, non-slow, non-disruptive tests into the "normal" Prow jobs? It feels conceptually right to me.

But do we have any such test at all? Yes, it seems so:

$ git grep '\[Serial\]' test/e2e/ | grep -v -e '\[Slow\']  -e '\[Disruptive\]' | wc -l
46

Looking at some of those, several seem to be about checking metrics. That's not disruptive. They just cannot run in parallel because it needs "exclusive" access to the cluster.

@pohly
Copy link
Contributor

pohly commented May 26, 2023

/remove-lifecycle stale

@BenTheElder
Copy link
Member

We'll need to be careful about this, since test times will still go up adding serial tests to jobs that were only doing parallel before.

FWIW I think most of the Serial tests have previously been poor candidates for PR jobs and in post-submit it's relatively fine to have two jobs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/testing Categorizes an issue or PR as relevant to SIG Testing. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

6 participants