Install OpenDayLight Controller

This document provides information on installing and configuring OpenDayLight (ODL) Controller to work with OnApp Software Defined Networking. The provided procedure was tested and verified with 0.6.2-Carbon version.

Prerequisities

Minimum System Requirements Recommended System RequirementsOS Requirements

CPU: 2 Cores

RAM: 2 GB

Storage: 16 GB

CPU: 8 Cores

RAM: 8 GB

Storage: 64 GB

CentOS 7.x

Java Virtual Machine 1.7 or 1.8


Install ODL Controller 



To install ODL controller, follow the next procedure:

  1. Switch to the root home directory and download an archive with ODL: 

    # cd
    # wget https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz


  2. Unpack the archive by running the following command:

    # tar -zxf distribution-karaf-0.6.2-Carbon.tar.gz


  3. Install JVM by running the following command:

    # yum install java


  4. Set JAVA_HOME by running the next command:

    # export JAVA_HOME=/usr/lib/jvm/jre-1.8.0/
  5. Start controller and install the required tools with the following command:

    # cd /root/distribution-karaf-0.6.2-Carbon
    # bin/karaf
  6. After the ODL console is opened, perform the refresh of repositories with the next command:

    # feature:repo-refresh
  7. Install the required features:

    #feature:install odl-dluxapps-yangui odl-dluxapps-yangman odl-dlux-core odl-dluxapps-yangutils odl-dluxapps-yangvisualizer odl-ovsdb-library odl-restconf-all odl-ovsdb-southbound-api odl-ovsdb-southbound-impl odl-ovsdb-southbound-impl-rest odl-l2switch-all

    After the features are installed, log out from the karaf using ctrl+d combination. Optionally, you can access the UI at http://your-server-ip-adress:8080/index.html

  8. Create a service to be run at startup:

    # ln -s /root/distribution-karaf-0.6.2-Carbon /etc/sdn
    # touch /etc/systemd/system/opendaylight.service
    
    # vi /etc/systemd/system/opendaylight.service
    [Unit]
    Description=OpenDayLight Controller
    After=network.target
    [Service]
    Type=forking
    User=root
    ExecStart=/etc/sdn/bin/start
    Restart=on-abort
    [Install]
    WantedBy=multi-user.target
    
    # systemctl daemon-reload
    # systemctl enable opendaylight
    # service  opendaylight start
  9. Change the default password for the admin account. For details, refer to Changing Passwords
  10. Ensure that ODL listens to OnApp on 8080 and 6640 ports:

    # netstat -nap | grep java
    tcp6       0      0 :::1099                 :::*                    LISTEN      31004/java
    tcp6       0      0 :::6640                 :::*                    LISTEN      31004/java
    tcp6       0      0 :::8080                 :::*                    LISTEN      31004/java
    tcp6       0      0 :::8181                 :::*                    LISTEN      31004/java
    tcp6       0      0 127.0.0.1:2550          :::*                    LISTEN      31004/java
    tcp6       0      0 :::8185                 :::*                    LISTEN      31004/java
    tcp6       0      0 :::44444                :::*                    LISTEN      31004/java
    tcp6       0      0 :::6653                 :::*                    LISTEN      31004/java
    tcp6       0      0 127.0.0.1:43133         :::*                    LISTEN      31004/java
    tcp6       0      0 :::46818                :::*                    LISTEN      31004/java
    tcp6       0      0 :::8101                 :::*                    LISTEN      31004/java
    tcp6       0      0 :::6633                 :::*                    LISTEN      31004/java