logo

Keeping the Lights on and the Bugs Away

2023-04-19

Authors:   Patrick Ohly


Summary

The presentation discusses the importance of end-to-end testing in Kubernetes and the challenges faced in implementing it. It also highlights the need for proper handling of contexts and linting to improve code quality.
  • End-to-end testing is crucial for ensuring the reliability and functionality of Kubernetes components
  • The entry framework is the primary tool used for end-to-end testing in Kubernetes
  • Proper handling of contexts and linting can improve code quality and make testing easier
  • There are two end-to-end frameworks in use, the entry framework and a separate framework based on go unit tests
  • The entry framework has undergone recent improvements thanks to the contributions of the main author of Ginkgo and go Mega
The speaker emphasizes the importance of end-to-end testing by stating that it involves testing with real components in real clusters, which is essential for ensuring that the cluster works as expected. They also mention the challenges faced in implementing end-to-end testing, such as the difficulty in integrating the entry framework into third-party projects. The speaker highlights the need for proper handling of contexts and linting to improve code quality and make testing easier. They also express gratitude towards the main author of Ginkgo and go Mega for their contributions to improving the entry framework.

Abstract

SIG Testing is responsible for the tools that drive the continuous testing of Kubernetes. Sooner or later, all Kubernetes developers will encounter those, whether it is through failure reports for PRs that they have submitted or directly when writing tests for a new feature. In this talk, we will focus on recent changes in the support packages for end-to-end (E2E) and integration tests. In Kubernetes 1.26, the test/e2e/framework was migrated to Ginkgo v2. This added new primitives for cleaning up after test execution (DeferCleanup) and for aborting a running test suite. For Kubernetes 1.27, most tests were modified to support that. The approach for polling objects and reporting failures is in the process of being overhauled. With the infrastructure and new guidelines in place, now is a good time for other contributors to get involved.

Materials:

Post a comment

Related work


Authors: Michelle Shepardson, Antonio Ojea Garcia, Chao Dai, Benjamin Elder
2022-10-27



Authors: Michael McCune, Bridget Kromhout
2022-10-27