ryu-sdn-controller-mac-os-x-omniswitch
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ryu-sdn-controller-mac-os-x-omniswitch [2014/07/30 19:06] – benny | ryu-sdn-controller-mac-os-x-omniswitch [2024/06/09 10:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Ryu SDN-Controller auf MacOS X ====== | + | ====== Ryu SDN-Controller auf MacOS X installieren |
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| - | An diesem Artikel wird gearbeitet. | + | An diesem Artikel wird gearbeitet. |
| </ | </ | ||
| - | Notizen: | + | ===== Voraussetzungen ===== |
| - | mkdir ryu | + | * Ich verwende Mac OS X v10.9 |
| + | * Python v2.7 ist bereits an Bord | ||
| + | * '' | ||
| + | * Ich empfehle dringend den Einsatz von '' | ||
| + | * XCode v5.1.1 (Apple AppStore, wichtig sind die command-line Tools) | ||
| + | * XCode Command-Line Tools ('' | ||
| + | * '' | ||
| - | Ich empfehle " | + | ===== Die Installation ===== |
| - | Beschreiben welches XCODE ich installiert habe (Command-Line Tools) | + | |
| - | virtualenv ryu/ | + | Ich empfehle die Installation in folgenden Schritten. |
| - | Macbook: | + | ==== virtualenv erstellen & aktivieren ==== |
| - | + | < | |
| - | 1. Versuch der Installation | + | Macbook: |
| - | (ryu)Macbook:ryu Benny$ | + | New python executable in ryu-3.11/bin/python |
| - | Downloading/unpacking ryu | + | Installing setuptools, pip...done. |
| - | | + | Macbook:Python |
| - | Running setup.py (path:/ | + | (ryu-3.11)Macbook:Python |
| - | + | </code> | |
| - | Installed | + | |
| - | [pbr] Processing SOURCES.txt | + | |
| - | warning: LocalManifestMaker: | + | |
| - | In file included from src/lxml/ | + | ==== lxml zuerst installieren ==== |
| - | + | <WRAP center round important 60%> | |
| - | / | + | Es ist wichtig das Kommando wie unten beschrieben einzugeben! '' |
| - | + | </ | |
| - | #include " | + | < |
| - | + | (ryu-3.11)Macbook:Python | |
| - | Lösung | + | |
| - | (ryu)Macbook: | + | |
| Downloading/ | Downloading/ | ||
| Downloading lxml-3.3.5.tar.gz (3.5MB): 3.5MB downloaded | Downloading lxml-3.3.5.tar.gz (3.5MB): 3.5MB downloaded | ||
| - | Running setup.py (path:/ | + | Running setup.py (path:/ |
| - | | + | (... Jede Menge CLI-Kilometer ausgelassen |
| - | checking whether build environment is sane... yes | + | Successfully installed lxml |
| - | | + | Cleaning up... |
| - | .... | + | </code> |
| - | pip install ryu <- funktioniert | + | ==== Ryu installieren ==== |
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | Downloading/ | ||
| + | Downloading ryu-3.12.tar.gz (1.1MB): 1.1MB downloaded | ||
| + | Running setup.py (path:/ | ||
| + | (... Jede Menge CLI-Kilometer ausgelassen ...) | ||
| + | Successfully installed ryu eventlet msgpack-python netaddr oslo.config paramiko routes six webob greenlet argparse pycrypto ecdsa repoze.lru | ||
| + | Cleaning up... | ||
| + | </ | ||
| + | Hält man diese Reihenfolge __nicht__ ein, dann schlägt a) die Installation von '' | ||
| + | <WRAP center round tip 60%> | ||
| + | An dieser Stelle ist es sinnvoll sich die Beispiele von Ryu zu kopieren, siehe: [[ryu-sdn-controller-mac-os-x-omniswitch# | ||
| + | </ | ||
| - | ... | + | ===== Ryu in Aktion! ===== |
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | loading app ../ | ||
| + | loading app ryu.controller.ofp_handler | ||
| + | instantiating app ryu.controller.ofp_handler of OFPHandler | ||
| + | instantiating app ../ | ||
| + | BRICK SimpleSwitch13 | ||
| + | CONSUMES EventOFPPacketIn | ||
| + | CONSUMES EventOFPSwitchFeatures | ||
| + | BRICK ofp_event | ||
| + | PROVIDES EventOFPPacketIn TO {' | ||
| + | PROVIDES EventOFPSwitchFeatures TO {' | ||
| + | CONSUMES EventOFPPortDescStatsReply | ||
| + | CONSUMES EventOFPEchoRequest | ||
| + | CONSUMES EventOFPSwitchFeatures | ||
| + | CONSUMES EventOFPErrorMsg | ||
| + | CONSUMES EventOFPHello | ||
| + | </ | ||
| - | Um an die Beispiele zu kommen: | + | ===== OmniSwitch in Ryu registrieren ===== |
| + | <WRAP center round info 60%> | ||
| + | Ich hab Urlaub! Danach werde ich diese Anleitung sicherlich noch erweitern .. :) | ||
| + | </ | ||
| - | Macbook:Python Benny$ git clone https:// | + | ==== OmniSwitch 6900 Konfiguration ==== |
| - | Cloning into 'ryu-git'... | + | < |
| - | remote: Counting objects: 14808, done. | + | -> show configuration snapshot openflow |
| - | remote: Compressing objects: | + | ! OPENFLOW: |
| - | remote: Total 14808 (delta 80), reused 0 (delta 0) | + | openflow logical-switch OFSwitch vlan 2 |
| - | Receiving objects: 100% (14808/14808), 18.27 MiB | 676.00 KiB/s, done. | + | openflow logical-switch OFSwitch controller 192.168.10.100:6633 |
| - | Resolving deltas: 100% (10855/10855), done. | + | openflow logical-switch OFSwitch interfaces port 1/1-20 |
| - | Checking connectivity... done. | + | </code> |
| - | #### | + | ==== Ausgaben von Ryu ==== |
| - | + | ||
| - | Problem beim Start: | + | |
| - | (ryu)DEBERN0L004402: | + | |
| - | Traceback (most recent call last): | + | |
| - | File "/ | + | |
| - | from pkg_resources import load_entry_point | + | |
| - | File "/ | + | |
| - | working_set.require(__requires__) | + | |
| - | File "/ | + | |
| - | needed | + | |
| - | File "/ | + | |
| - | raise DistributionNotFound(req) | + | |
| - | pkg_resources.DistributionNotFound: | + | |
| - | + | ||
| - | pip install greenlet | + | |
| - | + | ||
| - | ryu Bug! | + | |
| - | + | ||
| - | + | ||
| - | ### | + | |
| - | + | ||
| - | Ryu Ausgabe: | + | |
| < | < | ||
| - | (ryu)DEBERN0L004402:ryu Benny$ ryu-manager --verbose ../ | + | (ryu)Macbook:ryu Benny$ ryu-manager --verbose ../ |
| loading app ../ | loading app ../ | ||
| loading app ryu.controller.ofp_handler | loading app ryu.controller.ofp_handler | ||
| Zeile 104: | Zeile 116: | ||
| </ | </ | ||
| - | OmniSwitch Konfiguration: | + | ===== Typische Fehlermeldungen bei der Installation ===== |
| + | ==== lxml: xmlversion.h file not found ==== | ||
| + | An diesem Fehler ist mein erster Installationsversuch mit '' | ||
| + | Nach einiger Suche habe ich in den Untiefen von " | ||
| < | < | ||
| - | -> show configuration snapshot openflow | + | (ryu)Macbook: |
| - | ! OPENFLOW: | + | Downloading/ |
| - | openflow logical-switch vswitch vlan 2 | + | Downloading ryu-3.11.tar.gz (1.3MB): 1.3MB downloaded |
| - | openflow logical-switch vswitch controller 192.168.10.100:6633 | + | |
| - | openflow logical-switch vswitch interfaces port 1/1-20 | + | |
| + | Installed / | ||
| + | [pbr] Processing SOURCES.txt | ||
| + | warning: LocalManifestMaker: | ||
| + | |||
| + | In file included from src/ | ||
| + | |||
| + | / | ||
| + | |||
| + | #include " | ||
| </ | </ | ||
| + | **Lösung: | ||
| + | < | ||
| + | (ryu)Macbook: | ||
| + | </ | ||
| + | * Der Mac ist nun ein paar Sekunden mit kompilieren beschäftigt | ||
| + | * Danach sollte '' | ||
| + | * Zumindest bei mir schlug der erste Start aber dann wiederum auch fehl: '' | ||
| + | |||
| + | ==== pkg_resources.DistributionNotFound: | ||
| + | Nach der manuellen Korrektur mit '' | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | Traceback (most recent call last): | ||
| + | File " | ||
| + | from pkg_resources import load_entry_point | ||
| + | File "/ | ||
| + | working_set.require(__requires__) | ||
| + | File "/ | ||
| + | needed = self.resolve(parse_requirements(requirements)) | ||
| + | File "/ | ||
| + | raise DistributionNotFound(req) | ||
| + | pkg_resources.DistributionNotFound: | ||
| + | </ | ||
| + | |||
| + | **Lösung: | ||
| + | < | ||
| + | (ryu-3.11)Macbook: | ||
| + | </ | ||
| + | |||
| + | ==== Bei mir fehlen alle Beispiele bzw. das /app Verzeichnis fehlt! ==== | ||
| + | Die Beispiele werden von '' | ||
| + | |||
| + | **Lösung: | ||
| + | < | ||
| + | Macbook: | ||
| + | Cloning into ' | ||
| + | remote: Counting objects: 14808, done. | ||
| + | remote: Compressing objects: 100% (134/134), done. | ||
| + | remote: Total 14808 (delta 80), reused 0 (delta 0) | ||
| + | Receiving objects: 100% (14808/ | ||
| + | Resolving deltas: 100% (10855/ | ||
| + | Checking connectivity... done. | ||
| + | </ | ||
ryu-sdn-controller-mac-os-x-omniswitch.1406747215.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
