===== Step 1: Bring up the ODL Controller ===== ODL Controller Steps (''snsj108 ODL Controller: IP 199.188.118.108 running CentOS7, refer to [[http://spirent.app.box.com/notes/37713582266?s=tgm98glcerw9zlcdy6pclavjlorgop4v|the details of lab environment]]''): ================================================================================== 1. Download the ODL Lithium distribution from https://www.opendaylight.org/software/downloads/lithium wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.3.0-Lithium/distribution-karaf-0.3.0-Lithium.tar.gz 2. Extract the tar file. tar -zxvf distribution-karaf-0.3.0-Lithium.tar.gz 3. Install Java7 sudo yum install -y java-1.7.0-openjdk.x86_64 4. OPTIONAL: We are using iptables instead of firewalld but this is optional for the Controller node. The objective is to allow all connections on the internal private network (ens160). So the same objective can be achieved using firewalld as well. 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 5. Open a screen session. screen -S ODL_Controller 6. Change directory to the ODL distribution that is extracted above. cd distribution-karaf-0.3.1-Lithium-SR1/bin 7. Set the JAVA environment variables. export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre export PATH=$PATH:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre/bin 8. Run the karaf shell. ./karaf 9. You are now in the Karaf shell of OpenDaylight. To explore the list of available features you can execute ''feature:list''. In order to enable OpenDaylight with OpenStack, we have to load the ''odl-ovsdb-openstack'' feature. opendaylight-user@root>feature:install odl-ovsdb-openstack 10. Verify that OVSDB feature is installed successfully. opendaylight-user@root>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 opendaylight-user@root> 11. To view the logs, you can use the following commands (or alternately the file data/log/karaf.log). opendaylight-user@root>log:display opendaylight-user@root>log:tail 12. To enable ODL DLUX UI, install the following features.\\ Navigate to http://localhost:8181/index.html for DLUX UI. The default user-name and password is admin/admin. opendaylight-user@root>feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core 13. 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.**''