Martinez, Marco and Grimm, Severin (2022) NUTS. Other thesis, OST Ostschweizer Fachhochschule.
HS 2021 2022-SA-EP-Martinez-Grimm-Software-Entwicklung in der Netzwerk-Automatisierung (1).pdf - Supplemental Material
Download (1MB)
Abstract
Einleitung
Netzwerke sind elementare Bestandteile jedes Unternehmens, welche immer wieder von Änderungen betroffen sind.
Um grössere Probleme vorzubeugen, wird nach Änderungen manuell von Netzwerk-Ingenieuren getestet.
Das Problem dabei ist, dass das Know-How oftmals bei den Netzwerk-Ingenieuren liegt und das menschliche Fehler beim Testen vorkommen.
Die Automatisierung von Netzwerktests versucht dieses Problem zu eliminieren.
Ein Produkt für die Automatisierung von Netzwerktests ist NUTS (NetTowel Network Unit Testing), welches vom INS (Institue of Networked Solutions) entwickelt wird.
NUTS ist ein pytest Plugin, welches mithilfe der Open-Source Frameworks Nornir und Napalm es ermöglicht, Unit-Tests in einem Netzwerk auszuführen.
Diese Tests werden in einer Testdefinitionssprache in YAML definiert und von NUTS herstellerunabhängig ausgeführt.
Ziel
Die vorliegende Arbeit befasst sich mit dem Testing von Netzwerken durch NUTS und wie dieses Produkt in der Industrie verwendet werden kann.
Es sollen mit Industriepartnern Kundenanforderungen evaluiert werden, ob Interesse an automatisiertem Testing vorhanden ist.
Auch wie aktuelles, meist manuell ausgeführtes Testing automatisiert werden kann.
Die gefundenen Tests sollen als sogenannte ``Test-Bundles'' in NUTS umgesetzt werden.
Zusätzlich sollen weitere Open-Source Netzwerkautomatisierungsframeworks analysiert werden, welche von NUTS verwendet werden können.
Ergebnis
Die Interviews mit den Industriepartnern erlaubten es ein umfangreiches Testportfolio zu kreieren, welches Test-Bundles enthält, die für die Industrie interessant sind.
Es sind diverse Test-Bundles implementiert.
Dazu gehört unter anderem ein Test, ob die richtigen VLANs einem Interface zugewiesen sind oder wie viele CDP Nachbaren ein Netzwerkgerät hat.
Die meisten Tests im Testportfolio können nicht umgesetzt werden, da das eingesetzte Framework Napalm nicht die benötigten Daten von den Netzwerkgeräten liefern kann.
Von den weiteren analysierten Netzwerkautomatisierungsframeworks lässt sich keines als umfassende Gesamtlösung einsetzen.
Daher wurde für die Umsetzung weiterer Test-Bundles evaluiert, wie eine mögliche Architektur von NUTS aussehen sollte.
Künftig ist es sinnvoll NUTS so umzubauen, damit es nicht als pytest Plugin verwendet wird und nicht so stark vom Framework Napalm abhängig ist.
Die Daten herstellerunabhängig von Netzwerkgeräten abholen sollte nicht von Napalm gelöst werden, sondern von NUTS selbst.
Dies ist mit der aktuellen Struktur von NUTS nicht möglich und erfordert einen grösseren Umbau der Architektur.
Item Type: | Thesis (Other) |
---|---|
Subjects: | Topics > Software > Testing and Simulation > Unit-Testing Area of Application > Industry Technologies > Programming Languages > Python Technologies > Network Metatags > INS (Institute for Networked Solutions) |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Stettler, Beat UNSPECIFIED |
Date Deposited: | 20 Apr 2022 08:52 |
Last Modified: | 20 Apr 2022 08:52 |
URI: | https://eprints.ost.ch/id/eprint/1013 |