Sachin Prabhu und Michael Adam (beide Red Hat) sprachen über die Bedeutung von Tests auf der diesjährigen sambaXP 2020. Sie demonstrierten die Einrichtung einer automatisierten Testumgebung für Samba auf Gluster
Abstract
Testen ist ein äußerst wichtiger Teil des Software-Entwicklungsprozesses. Glücklicherweise ist heute ein großer Teil der Testarbeit automatisiert. Continuous Integration (CI) ist ein Schlagwort. In Samba haben wir einen beträchtlichen Weg zurückgelegt, vom (manchmal) manuellen Ausführen von Tests zu unserem eigenenigenen Autobuild-System, das einen vollständigen Durchlauf der Testsuite als Push-gate erzwingt, bis hin zum parallelen Ausführen verschiedener Tests im gitlab ci-System für jede Merge-Request.
Während das automatisierte Testen von Server-Client-Systemen wie Samba bereits anspruchsvoll ist, ist das Testen eines Clusters noch komplizierter und ressourcenhungrig. CTDB selbst wurde von Anfang an isoliert mit lokalen Prozessen getestet, und vor kurzem wurde dem Selbsttest von Samba eine Testumgebung hinzugefügt, mit deren Hilfe der Samba+ctdb-Stack vollständig mit lokalen Prozessen und Socket-Wrapper getestet werden kann. Aber ein automatisierter, periodischer Test eines Samba- und ctdb-Setups auf einem echten geclusterten Dateisystem steht noch aus. Ein Aspekt, warum dies nicht so einfach zu implementieren ist, ist die Tatsache, dass für die Einrichtung eines solchen Testclusters normalerweise ein paar virtuelle Maschinen erforderlich wären.
Dieser Vortrag stellt ein Projekt vor, das wir vor kurzem begonnen haben, zu untersuchen und zu bearbeiten. Es zielt darauf ab, einen periodischen Testlauf zu erstellen, bei dem die neuesten Bits von Samba und Gluster gezogen, ein Cluster eingerichtet und Testsuiten dagegen ausgeführt werden. Fehler würden an beide Projekte gemeldet werden. Als Compute-Ressourcen für die Testläufe wird das centos-ci verwendet. Dieses Projekt stellt von Jenkins verwaltete Bare-Metal-Server-Ressourcen für Open-Source-Projekte zur Integration in ihre CI-Systeme zur Verfügung. Diese Server sind leistungsfähig genug, um realistische Cluster-Setups in virtuellen Maschinen auszuführen. Die Präsentation zeigt, wie die centos-ci-Ressourcen in dieses Testsystem integriert werden. Darüber hinaus werden Möglichkeiten untersucht, wie centos-ci-Ressourcen als zusätzliche Läufer für Samba's gitlab CI-Läufer integriert werden können.
(Slides als PDF)
Über die Reihe "sambaXP 2020 Retrospektive"
In dieser Reihe werden wir in den kommenden Monaten Aufnahmen der sambaXP 2020 präsentieren. Die 19. Auflage der internationalen Konferenz zur Open-Source-Software Samba fand vom 26. bis 28. Mai 2020 erstmals ausschließlich in digitaler Form statt. Aufgrund des geänderten Veranstaltungsformats und der Nutzung einer Online-Konferenzplattform kann Veranstalter SerNet alle Vorträge als Video zur Ansicht anbieten (Link).