Zwei Jahre SIG Node CI: Auf dem Weg zu stabileren Kubernetes-Tests
Feiern Sie mit uns zwei Jahre SIG Node CI und entdecken Sie, wie wir die Zuverlässigkeit von Kubernetes-Tests verbessert haben!
Ensuring the reliability of SIG Node upstream code is a continuous effort that takes a lot of behind-the-scenes effort from many contributors. Es gibt häufige Releases von Kubernetes, Basisbetriebssystemen, Container-Runtimes und Testinfrastrukturen, die zu einer komplexen Matrix führen, die Aufmerksamkeit und kontinuierliche Investitionen erfordert, um “die Lichter am Laufen zu halten”.
Im Mai 2020 organisierte die Kubernetes Node Special Interest Group (“SIG Node”) ein neues Subprojekt für kontinuierliche Integration (CI) für node-bezogene Codes und Tests. Seit seiner Gründung führt das SIG Node CI Subprojekt wöchentliche Meetings durch, und selbst eine volle Stunde reicht oft nicht aus, um alle Fehler, testbezogenen PRs und Probleme zu bearbeiten und alle laufenden Arbeiten innerhalb der Gruppe zu besprechen.
In den letzten zwei Jahren haben wir Merge-blocking und Release-blocking Tests behoben, wodurch die Zeit zum Zusammenführen von Pull Requests der Kubernetes-Beitragenden verkürzt wurde, dank reduzierter Testflakes. Zu Beginn bestanden die Node-Testjobs nur 42 % der Zeit, und durch unsere Bemühungen stellen wir jetzt eine konstante Erfolgsquote von über 90 % sicher. Wir haben 144 Testfehlerprobleme geschlossen und 176 Pull Requests nur in kubernetes/kubernetes zusammengeführt. Außerdem haben wir den Teilnehmern des Subprojekts geholfen, in der Kubernetes-Beitragenden-Hierarchie aufzusteigen, mit 3 neuen Mitgliedern, 6 neuen Reviewern und 2 neuen Genehmigern.
Das Node CI Subprojekt ist ein zugänglicher erster Schritt für neue Beitragende, um mit SIG Node zu beginnen. Es gibt eine niedrige Eintrittsbarriere für neue Beitragende, um hochwirksame Fehler und Testfixes anzugehen, obwohl es einen langen Weg gibt, bevor Beitragende die gesamte Beitragenden-Hierarchie erklimmen können: Es dauerte über ein Jahr, um zwei neue Genehmiger für die Gruppe zu etablieren. Die Komplexität all der verschiedenen Komponenten, die Kubernetes-Nodes und dessen Testinfrastruktur antreiben, erfordert eine langfristige Investition, damit Entwickler das gesamte System sowohl auf hoher als auch auf niedriger Detailstufe tief verstehen.
Wir haben mehrere regelmäßige Beitragende in unseren Meetings, jedoch ist unser Pool an Reviewern und Genehmigern noch klein. Es ist unser Ziel, die Zahl der Beitragenden weiter zu erhöhen, um eine nachhaltige Verteilung der Arbeit sicherzustellen, die nicht nur auf wenigen Schlüsselgenehmigern lastet.
Es ist nicht immer offensichtlich, wie Subprojekte innerhalb von SIGs gebildet, betrieben und funktionieren. Jedes ist einzigartig für sein unterstützendes SIG und auf die Projekte zugeschnitten, die die Gruppe unterstützen soll. Als Gruppe, die viele Erstbeitragende in SIG Node willkommen geheißen hat, möchten wir einige Details und Erfolge der letzten zwei Jahre teilen, um unsere internen Abläufe zu entmystifizieren und die harte Arbeit aller unserer engagierten Beitragenden zu feiern!
Timeline
Mai 2020. Die SIG Node CI Gruppe wurde am 11. Mai 2020 gegründet, mit mehr als 30 Freiwilligen, die sich angemeldet haben, um das SIG Node CI-Signal und die allgemeine Beobachtbarkeit zu verbessern. Victor Pickard konzentrierte sich darauf, Testgrid-Jobs zum Bestehen zu bringen, als Ning Liao vorschlug, eine Gruppe rund um diesen Effort zu bilden und das ursprüngliche Gruppencharter-Dokument zu erstellen. Die SIG Node-Vorsitzenden unterstützten die Gruppenbildung mit Victor als Subprojektleiter. Sergey Kanzhelev trat Victor kurz darauf als Co-Leiter bei.
In der Kick-off-Sitzung diskutierten wir, auf welche Tests wir uns zuerst konzentrieren sollten und sprachen über Merge-blocking und Release-blocking Tests, von denen viele aufgrund von Infrastrukturproblemen oder fehlerhaftem Testcode fehlschlugen.
Das Subprojekt startete wöchentliche einstündige Meetings, um laufende Arbeiten zu diskutieren und zu triagieren.
Juni 2020. Morgan Bauer, Karan Goel und Jorge Alarcon Ochoa wurden für ihre Beiträge als Reviewer für die SIG Node CI Gruppe anerkannt, die erheblich mit den frühen Phasen des Subprojekts geholfen haben. David Porter und Roy Yang traten ebenfalls dem SIG-Testfehler-GitHub-Team bei.
Quelle: Kubernetes Blog