== Open Daylight Controller == [[TOC(Documentation/fSDN*, depth=2)]] The following instructions are for installing the ODL Helium controller on Ubuntu version 14.04 on ORBIT infrastructure. === Installation === Assuming you have a working 14.04 image (e.g. ubuntu-14-04-64bit.ndz) The installation process is quite simple. It is documented [https://wiki.opendaylight.org/view/Installing_OpenDaylight here]. Ignore this [https://www.opendaylight.org/sites/opendaylight/files/bk-install-guide-20141002.pdf guide] as there are no meaningful instructions in it. The "install" process is split into two parts, Env !Prep/Download and the Karaf shell. ''' Env !Prep/Download ''' 1. You will need the openjdk-7: {{{ apt-get install openjdk-7-jre }}} '''Note:''' Previous version's required maven, this seems to no longer be required for usage (but might still be needed for build. 1. Download the current version of the ODL tarball. As of this writing this is done like so: {{{ wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.2.3-Helium-SR3/distribution-karaf-0.2.3-Helium-SR3.tar.gz }}} 1. Extract said tarball {{{ tar -xzvf distribution-karaf-0.2.3-Helium-SR3.tar.gz }}} 1. Setup the JAVA_HOME environment variable {{{ export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 }}} ''' Karaf ''' TODO ---- === Older Notes - 5/13/2015 === ==== Installing the ODL Controller ==== The SDN controller used in the MF SDN prototype is the Open Daylight Controller. The release version is Hydrogen and we use the Base edition. Required Packages {{{ sudo apt-get update sudo apt-get install git maven openjdk-7-jdk openjdk-7-jre }}} The pre-built version of the controller can be downloaded at the following link [http://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distributions-base/0.1.1/distributions-base-0.1.1-osgipackage.zip Open Dayligth Controller Hydrogen Base Edition] Download and unzip the controller in a Linux machine. The controller was tested to work in Ubuntu 13.04. {{{ unzip distributions-base-0.1.1-osgipackage.zip }}} For more details, visit the controller installation guide at: https://wiki.opendaylight.org/view/Release/Hydrogen/Base/Installation_Guide#Installing ==== Developing !OpenFlow 1.3 Modules with the Controller ==== For developing applications and running the controller with OF 1.3, download the openflowplugin from git at the following link: {{{ git clone https://git.opendaylight.org/gerrit/p/openflowplugin.git }}} A sample application for a Learning switch is provided by the plugin. For learning to develop new modules as applications, this is a good starting point. Build the application: {{{ cd openflowplugin/samples/learning-switch/ mvn clean install }}} For running the learning switch application,do the following steps {{{ rm opendaylight/plugins/org.opendaylight.controller.samples.simpleforwarding-0.4.1.jar }}} Copy the 'learning-switch-0.0.3-SNAPSHOT.jar' bundle into the ‘opendaylight/plugins' folder. To run the controller with OF 1.3: {{{ cd opendaylight ./run.sh -of13 }}} To test if the learning switch is working, on the controller console: {{{ osgi > lb learn }}} Now you can see the controller installing flow rules when you test the network by pinging nodes. For more details and information for developing applications you can visit the [https://wiki.opendaylight.org/view/OpenDaylight_Controller:Hydrogen_Developer_Guide:MD-SAL_App_Tutorial Open Daylight wiki] ==== Running the Controller ==== The controller can be started directly by running the script in the following directory {{{ cd opendaylight ./run.sh }}} Once the controller is running,to access the GUI, point your browser to the IP address running the controller with port 8080: http://::8080 or http://127.0.0.1:8080 from the same machine running the controller Login with the following details: username: admin password: admin You can set up flow rules or make modifications using the GUI provided.