Tuesday 7 April 2015

Setting up OpenDayLight Controller and linking it to mininet

Prerequests:
-VMWare Workstation [recommended] or
-Virtual Box [free software not as good but does the job]
-Ubuntu 14.04 32bit OS installed and named Controller or something like that [please have this vm set up by following my blog on setting up mininet from scratch]
-Second OS running Ubuntu 14.04 32bit installed and named Mininet [please have this vm set up by following my blog on setting up mininet from scratch]

Note: you will have to set up the Ubuntu 14.04 virtual machine yourself I recommend 20GB of hard drive space and 4GB of ram if your machine can handle it. Also both machines must be set up with mininet as instructed in my previous blog.

The most straight forward way to set up the OpenDaylight Controller (ODL) is to download the latest pre-built version from there website http://www.opendaylight.org/software/downloads .
I would highly recommend this option for anyone who is new to the world of software-defined networking (SDN). The latest version of the ODL controller available at the moment is Helium-SR3. Make sure that you download the .tar file when using Ubuntu. When the download is complete right click on the file and extract it to your home folder you are now ready to get started. You should have your two vms powered on side by side, make sure that your mininet vm has been set up properly as indicated in blog on how to set up mininet from scratch. I do not want you to run mininet on this machine yet so if it is running type exit into the mininet command prompt. The first machine we are going to work on is the controller vm so you have downloaded and extracted the most recent distribution now lets get it to run.
Launch the terminal and type in

dir

if you have extracted the distribution to your home folder you will see it here.
Next command you need is

cd distribution-karaf-0.2.3-Helium-SR3

now to run the controller type in

./bin/karaf

the controller will come up but it takes about 6 minutes to come online fully.
We now need to find out the ip address of our virtual machine this can be obtained by opening another terminal window don't close the ODL controller command window. In the second terminal type in

ifconfig

and take note of the ip address of the machine you will need this to link mininet to the controller.
The below video will go through the above steps in-case you don't understand anything,




We are now going to leave the controller vm and go to our mininet vm if you have set it up like instructed in the previous blog on mininet this should work just fine.
Now we are going to link mininet to our controller that is running on a separate vm. We have already got the ip address of the machine that our controller is sitting on which in this case is 192.168.195.135 your ip will more than lightly be different so don't forget to check and change accordingly.
In our terminal window enter the following command to link mininet and the controller

sudo mn --topo=tree,3 --mac --switch=ovsk --controller=remote,ip=192.168.195.135

if you have entered this correctly then mininet should be connected we now need to go back to our controller vm and see if we are all good. There is a video below going through the above set up.

Ok so if all of the above is working like in the videos then you are in a good place and you are about to see what mininet looks like when connected to the OpenDaylight Controller. Lets head back over to our controller vm and launch the browser. In the browser type in the following

localhost:8181/dlux/index.html#/login

When the interface for the ODL Dlux comes up the username and password is admin/admin
you are now logged in and you should be able to see your mininet network displayed in the topology tab. There is a video below showing you how to do this but if you have got this far well done and have fun experimenting with mininet and OpenDaylight. Please leave a comment and let me know how you got on an if this blog has been helpful.





2 comments:

  1. Thank you. I have a question.How to run multiple controller together?
    How each controller communicate each other? If you have a guideline please send to me. Email=workumuluye@gmail.com

    ReplyDelete
    Replies
    1. Can i Install Open Day Light and Mininet on Same Virtual Machine?

      Delete