Genius

Welcome to Genius

Introduction

Genius project provides Generic Network Interfaces, Utilities & Services. Any ODL application can use these to achieve interference-free co-existence with other applications using Genius. In the the first phase (ODL-Boron time frame), Genius would provide following modules --

  • Modules providing a common view of Network interfaces for different services

    • Interface (logical port) Manager

      • Allows bindings/registration of multiple services to logical ports/interfaces

      • Ability to plugin different types of southbound protocol renders.

    • Overlay Tunnel Manager

      • Creates and maintains overlay tunnels between configured TEP's.

  • Modules providing commonly used functions as shared services to avoid duplication of code and waste of resources.

    • Aliveness Monitor

      • Provides tunnel/next-hop aliveness monitoring services

    • ID Manager

      • Generates persistent unique integer IDs

    • MD-SAL Utils

      • Provides common generic APIs for interaction with MD-SAL

Documentation

Getting Started

Getting Started for Users

Genius User Guide

For genius overview, please refer documentation section.

Getting Started for Developers

Genius Design doc

Committers typically do not review changes with build failures; it is the Gerrit Owner's responsibility to get them to build. If you're facing build issues you don't know how to solve, email the app-dev list asking for help (don't just wait and expect committers to notice your proposed change and help you fix its build).

Feel free to email the app-dev list after 1 week of no movement on a (green ticked build passing) Gerrit.

Getting Started for Committers

We do not "self merge" our own changes, but add other committers as reviewers. The first reviewing committer will +1, the second reviewing committer will +2. Any other committers can merge proposed changes with at least x2 +1 from contributors.

The one exception to the rule is that we allow self merging critical changes required to unblock broken builds.

If you've been added as a Reviewer to a change you don't feel comfortable reviewing, or don't anticipate to have the time to review within say 1 week, then you may want to remove yourself from the review, ideally with a short comment, to signal that to the owner, so that he can find others willing to review (or make changes to significantly simplify or further extensively document and re-add), instead of "doing nothing" and letting reviews "linger" for too long with no action.

We aim to review all pending Gerrits which have passed Verify and have no merge conflicts and no -1/-2 (and only those) in the weekly meeting. We ignore pending Gerrits which are not Verify. (Here are those with -1/-2 reviews.)

We occasionally review the list of all pending very old Gerrits which may be should and can be abandoned (or need to poke people).



Project Facts

Project Creation Date: March 24, 2016
Lifecycle Status: Incubation
Type: Protocol
Primary Contact: @Hema Gopalakrishnan
Project Lead:  @Hema Gopalakrishnan
Committers:  
Emeritus Committers:
IRC:    freenode.net #opendaylight-genius
Mailing List: app-dev@lists.opendaylight.org
Archives:   mailing list archives
Meetings: See Community Meetings 
Repository: git clone  https://git.opendaylight.org/gerrit/genius
Jenkins:  Genius Jenkins Silo
Trello Board: Genius Trello Board
Gerrit Patches:  code patches/reviews
Open Bugs: 

Release Planning and Release Notes 

Release

Release Plan

Release Notes

Release Review

Installation Guide

User Guide

Developer Guide

Testplan

How-To's/Tutorials



Miscellaneous

Existing Code base

Genius project will leverage codebase from existing ‘vpnservice’ project available Opendaylight, to be specific following modules will be used.