iX 12/2017
S. 92
Report
Cloud
Aufmacherbild

OpenStack-Funktionen automatisiert testen

Läuft ja wie geschmiert

Immer mehr Public- und Private-Cloud-Angebote basieren auf OpenStack. iX zeigt, wie Administratoren und Nutzer OpenStack-Clouds automatisiert auf Herz und Nieren prüfen können.

Langsam wird es etwas unübersichtlich auf dem Cloud-Markt: Immer mehr Anbieter versuchen, ein Stück des großen Cloud-Kuchens zu bekommen – und setzen dafür auf OpenStack. Dafür gibt es gute Gründe: Der unangefochtene Platzhirsch Amazon stellt seine Software ebenso wenig frei zur Verfügung wie Microsoft, das für Azure mittlerweile ebenfalls beachtliche Nutzerzahlen meldet. Eucalyptus verkommt bei HPE zur Bedeutungslosigkeit, um OpenNebula ist es sehr still geworden und CloudStack konnte nie eine nennenswerte Verbreitung erreichen. Somit bleibt OpenStack als einzige freie Alternative übrig.

Auf Kundenseite geht der Trend gleichzeitig klar in Richtung Cloud: Immer mehr Firmen leeren ihr RZ und tauschen eigene Hardware zugunsten von Cloud-Ressourcen aus. Für sie ist der stetig wachsende Markt an Cloud-Angeboten gerade auch wegen der OpenStack-Linie ein Glücksfall. Nicht alles läuft allerdings reibungslos, will ein Kunde Workload in die Cloud migrieren. Schon bei der Wahl der Anbieter hakelt es: Welche Firma hat das beste Verhältnis von Preis und Leistung im Lichte der eigenen Anforderungen? Halten die Unternehmen die Versprechen im Hinblick auf Performance, die sie auf ihren Websites geben? Ist die jeweilige Cloud robust und zuverlässig? Frei nach dem Motto „Drum prüfe, wer sich ewig bindet“ steht den meisten Administratoren eine wahre Test-Odyssee ins Haus, bevor die eigentliche Cloud-Migration beginnt.

Verlässliche Daten erhalten

Wie aber findet ein Systemverantwortlicher heraus, ob die OpenStack-Cloud, für die er sich interessiert, etwas taugt? Und wie kommt er zu verlässlichen Daten, auf deren Basis er die unterschiedlichen Anbieter realistisch miteinander vergleichen kann? Denn OpenStack ist ein riesiges Gebilde aus vielen Teilen und Komponenten und bietet eine große Anzahl an Funktionen. Eine einzelne Cloud händisch auf ihre Funktionstüchtigkeit und ihre Performance hin zu überprüfen, würde mehrere Tage in Anspruch nehmen. Stehen mehrere Clouds zur Auswahl, vervielfacht sich der Aufwand entsprechend. Trotzdem muss der Administrator wissen, ob die Cloud kann, was sie verspricht – ob etwa der Befehl zum Anlegen einer Cloud tatsächlich dazu führt, dass am Ende eine VM läuft, und zwar in der gewünschten Konfiguration.

Das OpenStack-Projekt selbst bietet diverse Tools an, die Administratoren das automatische Überprüfen von OpenStack-Clouds erleichtern sollen. An oberster Stelle der Werkzeug-Hierarchie steht Tempest. Dieses bietet mehr als tausend vordefinierte Tests, die sich auf beliebigen OpenStack-Clouds ausführen lassen und einen guten Überblick über den angebotenen Funktionsumfang geben.

Die Tempest-Tests sind zum Teil sehr komplex: Das Programm kann etwa ein virtuelles Netz in der Cloud anlegen, eine VM darin starten, die Security Group verändern und im Anschluss per SSH überprüfen, ob der Login bei der gestarteten VM wie erwartet funktioniert. Am Ende gibt Tempest die Ergebnisse der Tests in übersichtlicher Form aus – wahlweise als HTML-Datei oder im Subunit-Format, sodass Jenkins sie interpretieren kann. Ist ein Test fehlgeschlagen, notiert Jenkins gleich die Fehlermeldungen dazu – nützlich für Administratoren, die ihre eigene Cloud mit dem Programm testen: Mit dem Stacktrace des Tempest-Tests lässt sich der Fehler gut einkreisen.

Dazu gesellt sich RefStack, das auf Tempest basiert. Das Werkzeug soll überprüfen, ob sich eine einzelne OpenStack-Cloud an die OpenStack-API-Vorgaben hält und ob alle Schnittstellen wie erwartet funktionieren.