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

Parallelize Provisioning Automation #1398

Open
slickwarren opened this issue Jun 27, 2024 · 2 comments
Open

Parallelize Provisioning Automation #1398

slickwarren opened this issue Jun 27, 2024 · 2 comments
Assignees
Labels
needs-design designates issues that need a design document + discussion

Comments

@slickwarren
Copy link

It would be nice to have things run in parallel to speed up the time of running tests. Most of provisioning is serially ran right now, but some good examples of things running in parallel are:

  • custom cluster nodes currently run in 'parallel' meaning that they are created all at once, and there's a separate part of the func that waits on them to register / come up according to rancher

Some areas that need to be reworked are:

  • airgap provisioning
    • corral currently uses cmd.CombinedOutput which waits on the command to complete. This blocks us from running other corrals to provision + register concurrently
  • General provisioning tests
    • inside the s.Run() of Permutations -> this will run everything in the 'for' loops (k8s, cni, provider) in parallel
    • at the root level of each Test -> this will run each test in the suite in parallel
    • we would need to investigate how this would affect running multiple suites in the same run
@slickwarren slickwarren added the needs-design designates issues that need a design document + discussion label Jun 27, 2024
@slickwarren slickwarren added this to the Future Release milestone Jun 27, 2024
@slickwarren slickwarren self-assigned this Jun 27, 2024
@slickwarren
Copy link
Author

Unfortunately the solution I currently have has 1 crux; cleanup of clients before we expect them to. It appears this is a fundamental limitation in Testify: stretchr/testify#1139 (comment)

@slickwarren
Copy link
Author

we will have to use native goRoutines, ripping out testify from our provisioning tests if we want this done. putting this back in queue for triage later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-design designates issues that need a design document + discussion
Projects
None yet
Development

No branches or pull requests

1 participant