3.2. Setting Up Open Daylight Controller NodeΒΆ

For exemplary purpose, we assume:

  • The hostname of Open Daylight Controller Node is opnfv-odl-controller, and the host IP address is
  • CentOS 7 is installed
  • We use opnfv as username to login.
  • Java 7 is installed in directory /usr/lib/jvm/java-1.7.0-openjdk-

ODL-1: Login to Open Daylight Controller Node with username opnfv.

ODL-2: Download the ODL Lithium distribution from http://www.opendaylight.org/software/downloads

wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.3.3-Lithium-SR3/distribution-karaf-0.3.3-Lithium-SR3.tar.gz

ODL-3: Extract the tar file

tar -zxvf distribution-karaf-0.3.3-Lithium-SR3.tar.gz

ODL-4: Install Java7

sudo yum install -y java-1.7.0-openjdk.x86_64

ODL-5 (OPTIONAL): We are using iptables instead of firewalld but this is optional for the OpenDaylight Controller Node. The objective is to allow all connections on the internal private network (ens160). The same objective can be achieved using firewalld as well. If you intend to use firewalld, please skip this step and directly go to next step:

sudo systemctl stop firewalld.service
sudo yum remove -y firewalld
sudo yum install -y iptables-services
sudo touch /etc/sysconfig/iptables
sudo systemctl enable iptables.service
sudo systemctl start iptables.service
sudo iptables -I INPUT 1 -i ens160 -j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport 8181 -j ACCEPT # For ODL DLUX UI
sudo iptables-save > /etc/sysconfig/iptables

ODL-6: Open a screen session.

screen -S ODL_Controller

ODL-7: In the new screen session, change directory to where Open Daylight is installed. Here we use odl directory name and Lithium SR3 installation as an example.

cd ~/odl/distribution-karaf-0.3.3-Lithium-SR3/bin

ODL-8: Set the JAVA environment variables.

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-
export PATH=$PATH:/usr/lib/jvm/java-1.7.0-openjdk-

ODL-9: Run the karaf shell.


ODL-10: You are now in the Karaf shell of Open Daylight. To explore the list of available features you can execute feature:list. In order to enable Open Daylight with OpenStack, you have to load the odl-ovsdb-openstack feature.

opendaylight-user@opnfv>feature:install odl-ovsdb-openstack

ODL-11: Verify that OVSDB feature is installed successfully.

opendaylight-user@opnfv>feature:list -i | grep ovsdb
odl-ovsdb-openstack | 1.1.1-Lithium-SR1       | x  | ovsdb-1.1.1-Lithium-SR1 | OpenDaylight :: OVSDB :: OpenStack Network Virtual
odl-ovsdb-southbound-api  | 1.1.1-Lithium-SR1 | x  | odl-ovsdb-southbound-1.1.1-Lithium-SR1 | OpenDaylight :: southbound :: api
odl-ovsdb-southbound-impl | 1.1.1-Lithium-SR1 | x  | odl-ovsdb-southbound-1.1.1-Lithium-SR1 | OpenDaylight :: southbound :: impl
odl-ovsdb-southbound-impl-rest|1.1.1-Lithium-SR1 | x | odl-ovsdb-southbound-1.1.1-Lithium-SR1| OpenDaylight :: southbound :: impl :: REST
odl-ovsdb-southbound-impl-ui  | 1.1.1-Lithium-SR1| x | odl-ovsdb-southbound-1.1.1-Lithium-SR1| OpenDaylight :: southbound :: impl :: UI

ODL-12: To view the logs, you can use the following commands (or alternately the file data/log/karaf.log).


ODL-13: To enable ODL DLUX UI, install the following features. Then you can navigate to http://<opnfv-odl-controller IP address>:8181/index.html for DLUX UI. The default user-name and password is admin/admin.

opendaylight-user@opnfv>feature:install odl-dlux-core

ODL-14: To exit out of screen session, please use the command CTRL+a followed by d

Note: Do not kill the screen session, it will terminate the ODL controller.

At this moment, Open Daylight has been started successfully.