Skip to content

Test machinery for orchestration of integration/e2e/smoke style tests

License

Notifications You must be signed in to change notification settings

cathyzhang05/test-infra

 
 

Repository files navigation

Test Machinery

CI Build status Go Report Card

testmachinery diagram overview

The Test Machinery is the test infrastructure for the gardener project. Gardener uses the Test Machinery to automatically qualify releases and run every sort of integration test.
These tests include periodically executed shoot integration tests and Kubernetes e2e tests (e2e runner) as well as Gardener Lifecycle tests (validate dev versions of gardener).

Gardener offers managed Kubernetes clusters in different flavors including cloud providers (Alicloud, AWS, GCP, Azure, Openstack), K8s versions, Operating Systems and more. Therefore, the Test Machinery is designed to test and validate this huge variety of clusters in a scalable and efficient way.

The executed tests are uploaded to the Kubernetes testgrid:

Read detailed docs here.

See here how new tests can be easily added.

Additional Tools in this Repository

  • Testrunner
    Testrunner is an additional component of the Test Machinery that abstracts templating, deploying and watching of Testruns and provide additional functionality like storing test results or notifying test-owners.
  • Kubernetes e2e Testrunner
    Executes the Kubernetes e2e/Conformance tests and uploads them for further analysis to testgrid or elasticsearch.
  • Kubernetes CNCF Pull Request Creator
    Prepares a pull request for CNCF kubernetes certification
  • Host Scheduler
    The hostscheduler selects available cluster from specific providers and locks the selected cluster so that a fresh gardener can be installed. When the cluster is not needed anymore, the host scheduler cleans and releases the cluster.
  • Shoot Telemetry
    A telemetry controller to get granular insights of Shoot apiserver and etcd availability.
  • Tests
    Testruns that are rendered by the testrunner or github app.
  • TM GitHub Bot
    A GitHub bot to run tests on PullRequests.

About

Test machinery for orchestration of integration/e2e/smoke style tests

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 92.9%
  • Python 2.1%
  • Shell 1.9%
  • HTML 1.5%
  • Makefile 0.5%
  • Smarty 0.4%
  • Other 0.7%