Software Defined Network (SDN) is not something new anymore at this moment. All networking vendors are competing to promote their own controller. However, there are also a lot of open source controller outside there, i.e.: ODL, POX/NOX, Floodlight, and Ryu which are the most popular in the market now.
Ryu (ree-yooh) is one of my favourite open source SDN controller because it’s based on Python. Even though I had some experiences with Java programming but I think Python is easier to study, flexible, and quite useful for Network Engineer. In this session, I want to share my experience how to install Ryu Controller on Ubuntu Server 16.04. Please update and upgrade your Ubuntu OS before do these steps:
#!/bin/bash # Install RYU echo "Step 1. Install tools" sudo apt-get -y install git python-pip python-dev echo "Step 2. Install python packages" sudo apt-get -y install python-eventlet python-routes python-webob python-paramiko echo "Step 3. Clone RYU git Repo" mkdir ~/Project/SDN cd ~/Project/SDN/ git clone --depth=1 https://github.com/osrg/ryu.git echo "Step 4. Install RYU" sudo pip install setuptools --upgrade cd ryu; sudo python ./setup.py install echo "Step 5. Install and Update python packages" sudo pip install six --upgrade sudo pip install oslo.config msgpack-python sudo pip install eventlet --upgrade echo "Step 6. Test ryu-manager" ryu-manager --version
You can save those scripts as ryu-install.sh file and execute it under Linux terminal. If you get an error (some distribution is not found) after the installation, then type these commands to fix it:
$ sudo pip install -r tools/pip-requires $ sudo python setup.py install
Finally, this is a brief note about how to install Ryu Controller under Ubuntu 16.04 server. Happy testing and welcome to SDN world!