Jump to: navigation, search

Interns/Summer 2014

Welcome to the Intern Project Page for OpenDaylight

This page is meant to connect OpenDaylight Projects and their Mentors with students interested in working on OpenDaylight.


The following are running ideas for Projects

Automated Cluster Testing

  • Mentors: Mathieu Lemay <mlemay@inocybe.com> and Luis Gomez <ecelgp@gmail.com>
  • Title: Enhance current testing automation to add testing of various multinode cluster configurations.
  • Description: Working with the integration testing group, write automated devops test for a variety of different cluster and deployment configurations (1-N nodes) which includes a variety of OpenStack+OpenDaylight configurations.
  • Desirable Skills: Basic knowledge of DevOps tools like Puppet, Chef or Ansible would be required. Some experience with Vagrant and/or Robot Framework are welcome.
  • Difficulty: Easy-Medium

TR-069 Southbound Protocol

  • Mentors: Mathieu Lemay <mlemay@inocybe.com>
  • Title: Implement a Southbound TR-069 protocol server used to initially provision legacy CPE devices
  • Description: Many DSL or FTTH CPE which are using IP are using TR-069 for provisioning. Use the TR-069 Southbound will allow to provision some legacy CPE that are not OpenFlow based.
  • Desirable Skills: Good knowledge of XML and basic knowledge of http://fr.wikipedia.org/wiki/TR-069, good knowledge of Java, OSGi and Maven is a must.
  • Difficultly: Medium-Hard

OF Config Support using Netconf Southbound

  • Mentors: Mathieu Lemay <mlemay@inocybe.com>
  • Title: Implement good provisioning interactions via OF Config as an alternative for OVSDB in some current scenarios
  • Description: Working with the LINC, provision logical switches and proper configuration using OFConfig southbound.
  • Desirable Skills: Good knowledge of Netconf and XML, Java,, OSGi and Maven is a must. Must have browsed OF_Config protocol specification. Linux and Networking skills are recommended.
  • Difficultly: Medium-Hard

Not sure about the state of OF Config support in Hydrogen, please correct if wrong


  • Mentors: Colin Dixon <colin@colindixon.com> and Ryan Moats <rmoats@us.ibm.com>
  • Title: Enhance OpenDaylight's Consistency/Clustering APIs and Implementation
  • Description: Explore options for providing enhanced scale-out, clustering, and consistency features and implement them. At a high level, this involves replacing or improving both the Infinispan-based solution and IClustering contract we currently have.
  • Desirable Skills: Distributed Systems (e.g., Paxos, Two-phase commit, Three-phase commit), good Java skills
  • Difficultly: Medium-Hard

Better Host Tracking

  • Mentors: Colin Dixon <colin@colindixon.com>
  • Title: Create a Better Host Tracker
  • Description: Improve learning of hosts and their locations to work from traffic other than ARP. See this page for more details.
  • Desirable Skills: good Java skills, basic networking knowledge (e.g., IP addresses, MAC addresses, ARP, DHCP)
  • Difficultly: Easy-Medium

Continuous Performance Testing

  • Mentors: Colin Dixon <colin@colindixon.com> and Muthukumaran Kothandaraman <mkothand@in.ibm.com>
  • Title: Add Test to Provide Continuous Feedback on Performance
  • Description: See this page for more details.
  • Desirable Skills: good Java skills, some understanding of OpenFlow, experience with
  • Difficultly: Easy-Medium

jQuery-like Interface for MD-SAL

  • Mentors: Ryan Moats <rmoats@us.ibm.com>, Colin Dixon <colin@colindixon.com>, Jan Medved <jmedved@cisco.com>
  • Title: Add jQuery-like Interface for MD-SAL
  • Description: At its core, MD-SAL is a DOM generated from YANG models. As such, an interface that provides jQuery-like features would support more robust programming and wrapping than raw manipulation of the underlying DOM. This implies building of indexes/dictionaries on the fly as the MD-SAL tree structure is built. This in turn may require a mechnism (such as adding an extension to yang) to indicate when an index/dictionary should be built.
  • Desirable Skills: good Java skills, modeling experience, db experience, experience working with DOM-like interfaces
  • Difficultly: Medium-Hard

Testopia Plugin for Robot Framework

  • Mentors: Carol Sanders <carol.sanders@brocade.com> and Luis Gomez <ecelgp@gmail.com>
  • Title: Develop Testopia Plugin for Robot Framework
  • Description: Integration group will implement Testopia (https://developer.mozilla.org/en-US/docs/Mozilla/Bugzilla/Testopia) for test plan and test case documentation. Given that we use Robot framework (http://robotframework.org) to run automated test cases, it would be nice to have the Robot test results incorporated in Testopia so that we can track all test information in a single tool or portal. Both Robot FW (Python) and Testopia (PERL) need to be patched for this feature to work.
  • Desirable Skills: Good knowledge of Python and PERL, familiar with database transactions
  • Difficulty: Medium-Hard
  • Code Repo: https://github.com/mohzah/rotopia (needs documentation)

LISP Integration with Node inventory and Host Tracker

  • Mentors: Vina Ermagan <vermagan@cisco.com>, Lori Jakab <lojakab@cisco.com>
  • Title: Design and develop better integration of lispflowmapping with node inventory and host tracker.
  • Description: Design a mechanism to integrate LISP dataplane nodes with the node inventory and host tracker. Currently dp LISP nodes connecting to ODL via LISP SB plugin are not accounted for in the controller node inventory and dont show up on the GUI. Potential direction is to use SB Map-Register messages to signal node discovery and liveness.
  • Desirable Skills: Good Java skills, basic networking knowledge, understanding of LISP protocol
  • Difficultly: Medium

LISP Configuration via Netconf

  • Mentors: Vina Ermagan <vermagan@cisco.com>, Lori Jakab <lojakab@cisco.com>
  • Title: Implement LISP dp configuration via Netconf
  • Description: Design the required models and implement LISP config via Netconf SB plugin.
  • Desirable Skills: Good Java skills, modeling experience, basic networking knowledge, understanding of LISP protocol
  • Difficultly: Medium


  • Title: Provide a short but descriptive title of what the intern project is
  • Description: Provide at least two or three paragraphs describing the task. Include the problem/opportunity in need of effort, as well as a description of the task to fix the problem or realize the opportunity. If there is a probable implementation path... "this will need steps X, Y, and Z to be completed" please describe it. If part of the task is evaluating one or more potential implementation paths and selecting/executing on one of them, please describe the options and the potential paths to be explored.
  • Additional Information: Provide links to bugzilla entries, release-plan notes, and/or other web-references that would be helpful information to potential interns.
  • Desirable Skills: List both the skills needed and the tools to be used. ie. Java programing with working knowledge of OpenStack Neutron and the principals behind SDN, Openflow, and network overlays. Experience with mininet and wireshark will also be very helpful.
  • Expected Outcome: List the deliverable(s) (features/application(s)/report(s) etc.) expected
  • Difficultly: Easy/Medium/Hard
  • Mentors: John Doe <john.doe@notarealemailaddress.com>, Jane Smith <JSmith@alsonotarealaddress.com>
  • Additional Contacts: Identify the IRC channel(s) and mailing list(s) where potential interns can ask questions and further interact with members of OpenDaylight project they would be working with.