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

End-to-end test suite refactor #611

Open
snay2 opened this issue Mar 31, 2022 · 1 comment
Open

End-to-end test suite refactor #611

snay2 opened this issue Mar 31, 2022 · 1 comment
Labels
stalebot-ignore To NOT let the stalebot update or close the Issue / PR Type: Enhancement New feature or request

Comments

@snay2
Copy link
Contributor

snay2 commented Mar 31, 2022

Problem

Our current integration test suite is written in Bash and is becoming difficult to maintain. We would like to be able to support more diverse cluster types and NTH installations, but adding such support is cumbersome and requires a lot of duplicated work in each test. We also want to make it easier to create new tests as we add new features.

Proposal

Create a integration test framework, written in Go, that includes cluster-agnostic drivers, common functions (e.g., "simulate an ITN", "verify that the pod has been evicted"), and reusable components that are easy to combine into relevant end-to-end test cases. Then, rewrite our existing tests using this framework and incorporate them in our CI/CD system. Once we are confident that the new test suite is performing at least as well as the existing test suite, remove the old tests from the repo.

Tenets

  • Cluster agnostic: User can choose any of the following:
    • Fully-managed local kind cluster (setup + teardown, setup, reuse existing)
    • Partially-managed EKS cluster (setup, reuse existing)
  • Extensible: Creating a new test does not require copying any boilerplate code. Tests should be designed with reusable components.
  • Consumable test output: Test output is accessible to human and automated test runners
  • Fast: Tests run quickly to provide immediate, actionable feedback to developers

NTH v2

Work is underway for version 2 of NTH (read the design proposal here). This new test suite should support v2, ideally in a way that even if the framework needs to be updated, the individual tests can remain the same.

@snay2 snay2 self-assigned this Mar 31, 2022
@snay2 snay2 added the stalebot-ignore To NOT let the stalebot update or close the Issue / PR label Mar 31, 2022
@jillmon
Copy link
Contributor

jillmon commented Jan 19, 2023

As of Jan 19, 2023, this is no longer a work in progress. We are still considering this as a potential future enhancement, but have no concrete plans or set dates at this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stalebot-ignore To NOT let the stalebot update or close the Issue / PR Type: Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants