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

Speed up E2E tests #84

Closed
TommyLike opened this issue Apr 9, 2019 · 16 comments
Closed

Speed up E2E tests #84

TommyLike opened this issue Apr 9, 2019 · 16 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. priority/high
Milestone

Comments

@TommyLike
Copy link
Contributor

/kind bug

Currently, Travis would spend almost 26 minutes to finish e2e tests, need to figure it out how to speed up these tests.

Ran for 26 min 14 sec
Ran 33 of 33 Specs in 773.302 seconds
SUCCESS! -- 33 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestE2E (773.30s)
PASS
ok  	volcano.sh/volcano/test/e2e	773.323s
release "integration" deleted
Running kind: [kind delete cluster --name integration]
Deleting cluster "integration" ...
$KUBECONFIG is still set to use /home/travis/.kube/kind-config-integration even though that file has been deleted, remember to unset it
Volcano logs are currently not supported.
The command "make e2e-test-kind" exited with 0.
@TommyLike TommyLike self-assigned this Apr 9, 2019
@TommyLike TommyLike added this to the v0.1 milestone Apr 9, 2019
@hzxuzhonghu
Copy link
Collaborator

One way I can think of is to run ginkgo in parallel, with -p option.

And another we can do is to delete pod with grace period = 0, which can speed up job error handling.

@TommyLike
Copy link
Contributor Author

@hzxuzhonghu thanks, will try to evaluate this:)

@TommyLike
Copy link
Contributor Author

Reopen when required

@k82cn
Copy link
Member

k82cn commented May 7, 2019

Ran 35 of 35 Specs in 849.903 seconds
SUCCESS! -- 35 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestE2E (849.90s)

xref https://travis-ci.com/volcano-sh/volcano/jobs/198124601

@k82cn k82cn reopened this May 7, 2019
@k82cn
Copy link
Member

k82cn commented May 7, 2019

/kind feature
/priority high

@volcano-sh-bot volcano-sh-bot added kind/feature Categorizes issue or PR as related to a new feature. priority/high labels May 7, 2019
@TommyLike
Copy link
Contributor Author

@k82cn To be honest, I think we are testing some of the advanced features which SHOULD and ALREADY been tested in kube-batch, suggest removing some of them.

@k82cn
Copy link
Member

k82cn commented May 7, 2019

which SHOULD and ALREADY been tested in kube-batch, suggest removing some of them.

kube-batch did not include vk.job :(

@TommyLike
Copy link
Contributor Author

@k82cn that's true, but for some cases such as preemption, statement, gang scheduling and etc. they are all testing the features of kube-batch. If our CI can ensure vk.job are correctly translated into kube-batch recognizable resource. I think that's enough. at lease we can skipping them for every PR's check, maybe valid them in cron task? Here are some of the testcase time consumption:

• [SLOW TEST:39.837 seconds]
Job E2E Test
/root/go_projects/src/volcano.sh/volcano/test/e2e/job_scheduling.go:26
  Gang scheduling
  /root/go_projects/src/volcano.sh/volcano/test/e2e/job_scheduling.go:82
------------------------------
• [SLOW TEST:33.809 seconds]
Job E2E Test
/root/go_projects/src/volcano.sh/volcano/test/e2e/job_scheduling.go:26
  Preemption
  /root/go_projects/src/volcano.sh/volcano/test/e2e/job_scheduling.go:150
------------------------------
• [SLOW TEST:48.209 seconds]
Job E2E Test
/root/go_projects/src/volcano.sh/volcano/test/e2e/job_scheduling.go:26
  Multiple Preemption
  /root/go_projects/src/volcano.sh/volcano/test/e2e/job_scheduling.go:182
------------------------------

@k82cn
Copy link
Member

k82cn commented May 7, 2019

if we skip it, how to make sure the quality of volcano?

@TommyLike
Copy link
Contributor Author

@k82cn I mean kube-batch should pay attention to those testcases, not volcano. Volcano only focus on how to translate the job into pods/podgroup/etc and handling the job life cycle. For the things of how to schedule the pod group, it's the matters of kube batch.

One more example, we would hardly update these cases on behalf of volcano developing.

Suggestion move them into seperated folder and only valid them when releasing.

-test
   -e2e
       -xxxx
       -xxxx
  -release
     -xxxxxx

@k82cn
Copy link
Member

k82cn commented May 7, 2019

Volcano includes scheduler & controller, we need to make sure the quality of the whole release.

Suggestion move them into seperated folder and only valid them when releasing.

That's too late to catch issue; the release should not be block by such kind of issue.

@TommyLike
Copy link
Contributor Author

@k82cn We have CI for kube-batch which can ensure the quality regarding scheduling. Any changes in volcano won't break the behaviour on how to scheduling. it's only affect how the job is translated into kube-batch resource, right?

@k82cn
Copy link
Member

k82cn commented May 8, 2019

no, refer to inqueue feature.

@TommyLike
Copy link
Contributor Author

no, refer to inqueue feature.

Then keep this:)

@k82cn k82cn modified the milestones: v0.1, v0.2 May 8, 2019
@k82cn k82cn modified the milestones: v0.2, v0.3 Sep 11, 2019
@k82cn k82cn modified the milestones: v0.3, v0.4 Dec 19, 2019
@k82cn k82cn modified the milestones: v0.4, future-release Dec 19, 2019
@stale
Copy link

stale bot commented Aug 18, 2020

Hello 👋 Looks like there was no activity on this issue for last 90 days.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
If there will be no activity for 60 days, this issue will be closed (we can always reopen an issue if we need!).

@stale stale bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 18, 2020
@stale
Copy link

stale bot commented Oct 17, 2020

Closing for now as there was no activity for last 60 days after marked as stale, let us know if you need this to be reopened! 🤗

@stale stale bot closed this as completed Oct 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. priority/high
Projects
None yet
Development

No branches or pull requests

4 participants