However, I have been really busy (a.k.a lazy) with work and family. Not until recently when I stumbled upon an interesting opportunity that drove me to take a peek at it.
Ok, the first big question is "OpenFlow or OpenDayLight"? Since I do not have a lot of time to perform research on their respective strengths and weaknesses, I have resorted to a very "scientific" way to choose among the two. In the end, I chose OpenDayLight because (wait for it...) I prefer their website :).
Since I am a big fan of Docker, it doesn't make sense for me to not install OpenDayLight on Docker. A quick google landed me with this. I am not interested in Debian, so I made some changes to the Dockerfile to switch the base image to Centos 6.6.
FROM centos:6.6 # Install required software (170MB) RUN yum update -y && yum install -y tar wget java-1.7.0-openjdk # Download and install ODL WORKDIR /opt RUN mkdir opendaylight RUN wget -q "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" && \ tar -xf distribution-karaf-0.2.3-Helium-SR3.tar.gz -C opendaylight --strip-components=1 && \ rm -rf distribution-karaf-0.2.3-Helium-SR3.tar.gz EXPOSE 162 179 1088 1790 1830 2400 2550 2551 2552 4189 4342 5005 5666 6633 6640 6653 7800 8000 8080 8101 8181 8383 12001 WORKDIR /opt/opendaylight ENV JAVA_HOME /usr/lib/jvm/jre-1.7.0-openjdk.x86_64 CMD ["./bin/karaf", "server"] |
NOTE:
(i) My test shows that Java 8 is currently not supported and will give weird Java NullPointerException while executing command.
(ii) You can download the Dockerfile here.
By executing "docker build -t opendaylight:helium ." in the directory where the Dockerfile is stored, I ended up with a Docker image that contains OpenDayLight.
OpenDayLight on Docker |
After starting the container using "docker run" command (refer to the above screenshot), it is time to SSH connect to it and install some ODL components.
This can be achieved by using the Karaf client (download).
Connect to the ODL container through Karaf client |
To list all supported features, you can execute the "feature:list" command.
List all supported features |
To list currently installed features, you can use the "feature:list -i" command.
Default installed features |
Install some basic features |
The default user ID and password are "admin" and "admin" respectively.
DLUX login page |
Voila, you are in!
DLUX login page |
I am still far from really knowing how to use ODL properly. I might even explore OpenFlow one day.
Anyway, I had fun trying it out and hope that you would too!