Ratgeber und Tipps für die Arbeit mit dem OpenDaylight-Projekt

Möchten Entwickler die SDN-Plattform OpenDaylight verstehen, müssen sie sich mit verschiedenen Tools auseinandersetzen. Wir bieten hilfreiche Tipps.

Beschäftigen sich Netzwerk-Administratoren intensiver mit dem ODL-Projekt (OpenDaylight), hilft das beim Verständnis, wie der OpenDaylight Controller funktioniert und die einzelnen Komponenten zusammenarbeiten. Bevor Entwickler mit der Schnittstelle von ODL kommunizieren, sollten sie sich zunächst aber mit einigen Tools beschäftigen.

Maven Archetypes

Zunächst verwendet OpenDaylight Maven Archetypes, um die Konsistenz neuer Projekte oder Applikationen sicherzustellen, die Entwickler auf Basis der Plattform erstellen. Maven Archetypes ermöglichen es Anwendern, einen grundlegenden Aufbau eines neuen Projekts zu generieren, darunter Standard-Build-Dateien, die Verzeichnis-Struktur und grundlegende Java-Klassen.

Wollen Anwender eine Applikation erstellen, sollten sie mit den zur Verfügung gestellten Maven Archetypes anfangen, da dies ein solide Basis ist. Der Entwicklerleitfaden illustriert einige beispielhafte Arbeitsschritte für Maven Archetypes, wofür das Kommandozeilen-Tool mvn genutzt wird.

YANG

Wechseln wir das Thema und sehen uns YANG an. Damit wird demonstriert, wie einfach es ist, Anwendungen zum Laufen zu bekommen. YANG ist eine Datenmodellierungssprache, die Profis einsetzen, um Konfigurationen, Betriebsstatus, Remote Procedure Calls (RPCs) oder Mitteilungen auf der Plattform oder den Netzwerkgeräten zu modellieren.

Es gibt verschiedene Gründe, warum man diese Aufgaben ausführen möchte. Nehmen wir als einfaches Beispiel an, dass es sich beim nachfolgend beschriebenen Modul um eine einzelne YANG-Datei handelt. Ein Beispiel für die Bereitstellung eines YANG-Moduls ist, dass die Entwickler die eingebauten YANG-Tools verwenden möchten. Damit können sie automatisch Code für die API Bindings oder Java-Klassen generieren und halten sich gleichzeitig an die Standards und Best Practices des Projekts. Im Entwicklerleitfaden finden Sie nachfolgendes Beispiel eines YANG-Moduls, das ein Administrator erstellen kann. Dafür verwendet er ein IDE, um einen Hello World RPC zu definieren, den man gegen den Controller ausführen kann.

Um das YANG-Modul zu verstehen, finden Sie nachfolgend einige relevante Details hierzu:

  • Das Modul hello.yang definiert eine RPC-Operation, die durch die RPC Statements angegeben und von YANG RFC reserviert wird.
  • Das Sub-Statement input ist ebenfalls durch die Spezifikation von YANG reserviert. In diesem Beispiel wird ein Eingabeparameter für die RPC-Operation hello-world definiert.
  • Der input-Baum hat einen Zweig - als name identifiziert – der einen String-Datentyp erwartet.
  • Das Sub-Statement output ist ebenfalls in der Spezifikation von YANG reserviert und definiert die Ausgabe der RPC-Operation hello-world.
  • Der output-Baum hat einen Zweig - als greeting identifiziert – der einen String-Datentyp zurückgibt.
Abbildung 1: Beispiel eines YANG-Moduls mit dem Namen hello.yang.

Nachdem das oben beschriebene YANG-Modul erstellt wurde, setzen Nutzer möglicherweise auf Maven, um das Beispiel Hello World zu erstellen. Ist das der Fall, stellt der Entwickler eventuell eine RESTCONF-Schnittstelle bereit. Damit können Anwender RPCs ausführen, indem sie die Beispiel-Anwendung verwenden.

RESTCONF

Rufen Sie sich die Entwicklung des Hello World RPCs in YANG wieder ins Gedächtnis. YANG Tools verwendet man möglicherweise, um automatisch verschieden APIs offen zu legen. RESTCONF ist ein Beispiel eines API Bindings, das auf diese Weise produziert wird. Sehen wir uns kurz die Entwicklung von RESTCONF an. YANG wurde ursprünglich als Datenmodellierungssprache für das Protokoll NETCONF geschaffen, das in erster Linie Secure Shell und XML für die Codierung nutzt. Um eine einwandfreie Zuordnung der von YANG modellierten Anwendungen auf ein REST-ähnliche Oberfläche zu gewährleisten, wurde die RESTCONF-Spezifikation erstellt.

Werfen wir einen Blick darauf, wie man das RESTCONF API für unsere erstellte Hello World RPC einsetzen kann. Abbildung 2 zeigt ein Beispiel, das Google Chromes Postman verwendet, um einen RESTCONF-API-Aufruf zu erzeugen. Behalten Sie im Hinterkopf, dass der Entwicklerleitfaden einige zusätzliche Änderungen für diverse Java-Klassen vorschreibt, um das unten demonstrierte Resultat zu erreichen. Das Ziel der nachfolgenden Abbildung ist es zu zeigen, wie das YANG-Modul das offen gelegte RESTCONF API beeinflusst.

Abbildung 2: Beispiel für eine POSTMAN-Ausgabe mit YANG und RESTCONF Abbildung.

Ist RESTCONF neu für Sie, finden Sie nachfolgend einige Details, um den RESTCONF-API-Aufruf besser zu verstehen:

  • Da wir den RPC-Aufruf im Modul hello.yang genutzt haben,verwendet die entsprechende API eine POST-Operation für die Ressource /RESTCONF/operations. Der RESTCONF RFC stellt weitere Details zur Verfügung, wie man den RPC-YANG-Aufruf auf RESTCONF abbildet.
  • Der restliche Teil der URL-Zeichenkette stammt aus dem Yang-Modul-Namen hello und dem RPC-Identifizierer hello-world.
  • Die input- und output-Formatierungen im RESTCONF-API-Aufruf sind direkte Resultate der Modellierung aus dem Modul hello.yang.

Zusammengefasst lässt sich sagen, wenn Sie sich mit OpenDaylight auseinandersetzen möchten, müssen Sie sich mit diversen neuen Tools beschäftigen. Netzwerkadministratoren können allerdings mit relativ wenig Aufwand die Grundlagen verstehen, die sich unter der Haube des Controllers verbergen. Das gilt auch für die Kommunikation mit OpenDaylight.

Ein spezieller Dank geht an Ed Warnicke, der ein Tutorial zur Verfügung stellt, das unter anderem die hier beschriebenen Details enthält.

Folgen Sie SearchNetworking.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im Dezember 2015 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Software Defined Networking (SDN)

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchDataCenter.de

SearchEnterpriseSoftware.de

Close