Table of Contents

MD-SAL Tutorial

Virtual box

Virtual box image ubuntu14.04odl_dev.qcow

RAM 3Gb, HDD 200G LVM

User: odldev; pwd: odldev

Java 7

Maven 3.3.3

The process to get start with developing an ODL controller is documented in a series of steps.

Resulting status of each step was committed to git branch with stepname, e.g., step0. Use “git branch -a” to see all committed step and “git checkout branchname” to switch to each step. “git diff” is also useful to see what exactly has been changed.

Step0: Generate Simple MD-SAL Project from Maven Archetype

This step generates necessary modules to start developing ODL controller. Following are summary of what has been done in this step.

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller \
  -DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ \
  -DarchetypeCatalog=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml -DappName=MMA
mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller \
  -DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ \
  -DarchetypeCatalog=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml

Step1: Restructure Project Directory

Make more structured maven project to avoid inconsistent dependency in modules.

Step 2: Start New Controller Module