Skip to content

Commit

Permalink
Updated README & docs
Browse files Browse the repository at this point in the history
Signed-off-by: Filip Čúzy <filip.cuzy@pantheon.tech>
  • Loading branch information
Filip Čúzy committed Jun 25, 2019
1 parent 647c189 commit 8b25bf3
Show file tree
Hide file tree
Showing 8 changed files with 106 additions and 849 deletions.
88 changes: 51 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,70 @@
[![Build Status](https://travis-ci.org/PantheonTechnologies/lighty-core.svg?branch=master)](https://travis-ci.org/PantheonTechnologies/lighty-core)
# lighty.io 11
__lighty.io__ is a Software Development Kit powered by [OpenDaylight](https://www.opendaylight.org/) to support, ease & accelerate the development of
Software-Defined Networking (SDN) solutions in Java. Developed by [PANTHEON.tech](https://pantheon.tech).

It utilizes core [OpenDaylight](https://www.opendaylight.org/) components, which are available as a set of libraries and are adapted to run in a __plain Java SE environment__.

[![Build Status](https://travis-ci.org/PantheonTechnologies/lighty-core.svg?branch=10.0.x)](https://travis-ci.org/PantheonTechnologies/lighty-core)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.lighty.core/lighty-bom/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.lighty.core/lighty-bom)
[![License](https://img.shields.io/badge/License-EPL%201.0-blue.svg)](https://opensource.org/licenses/EPL-1.0)

# lighty.io 11
__lighty.io__ is a Software Development Kit powered by [OpenDaylight](https://www.opendaylight.org/) to support, ease and accelerate development of
Software-Defined Networking (SDN) solutions in Java.
lighty.io is a toolkit for SDN application programmers and solution architects that can be used to build and integrate SDN controllers.
It utilizes core [OpenDaylight](https://www.opendaylight.org/) components, which are available as a set of libraries.

_This branch maintains compatibility with __OpenDaylight Sodium__ release._

## SDN controller architecture
![architecture](docs/lighty.io-controller-architecture.svg)
## Features
- [x] __Removed Karaf__: Having Java SE as a runtime, you can use a framework of your choice, not only Karaf
- [x] __Improved Speed__: Improved memory management & speed
- [x] __Modularity__: Your application code can start, stop & restart modules, as required

## Use Cases

- [OpenDaylight to lighty.io Migration](docs/ODL-migration-guide.md)
- [BGP Route Reflector](https://pantheon.tech/lighty-io-bgp-route-reflector/)
- [OpenFlow Integration](https://pantheon.tech/lighty-core-openflow/)
- [OVSDB & OpenFlow](https://pantheon.tech/lighty-io-ovsdb-openflow/)
- [Migration of ONAP SDNC to lighty.io](https://lighty.io/migration-of-onap-sdnc-to-lighty-io/)
- [NETCONF Device on ARM](https://lighty.io/lighty-io-netconf-device-on-arm/)
- [Migration of OpenDaylight TransportPCE to lighty.io](https://lighty.io/migration-of-odl-transportpce-to-lighty-io/)
- [Rapid NETCONF Controller Integration Testing](https://lighty.io/netconf-performance-test/)

## Components
* __lighty-codecs__ - easy to use IO YANG data operations
* __lighty-core__ - [OpenDaylight](https://www.opendaylight.org/) [core services](lighty-core/lighty-controller/README.md): MD-SAL, controller, yangtools, clustering
- [google guice extension](lighty-core/lighty-controller-guice-di/README.md) - dependency injection extension for [google guice](https://github.com/google/guice)
- [spring extension](lighty-core/lighty-controller-spring-di/README.md) - dependency injection extension for [spring.io](https://spring.io/)
* __lighty-examples__ - lighty.io [examples and applications](lighty-examples/README.md)
* __lighty-models__ - example [YANG models](lighty-models/README.md) and YANG model artifacts
* __lighty-codecs__ - Easy to use IO YANG data operations
* __lighty-core__ - [OpenDaylight](https://www.opendaylight.org/) [core services](lighty-core/lighty-controller/README.md): MD-SAL, Controller, yangtools, Clustering
- [google guice extension](lighty-core/lighty-controller-guice-di/README.md) - Dependency injection extension for [Google Guice](https://github.com/google/guice)
- [spring extension](lighty-core/lighty-controller-spring-di/README.md) - Dependency injection extension for [spring.io](https://spring.io/)
* __lighty-examples__ - [Examples and applications](lighty-examples/README.md)
* __lighty-models__ - Example [YANG models](lighty-models/README.md) and YANG model artifacts
* __lighty-modules__ - [OpenDaylight](https://www.opendaylight.org/) NorthBound (NB) and SouthBound (SB) plugin initializers
- [RESTCONF north-bound plugin](lighty-modules/northbound-modules/lighty-restconf-nb-community)
- [NETCONF south-bound plugin](lighty-modules/lighty-netconf-sb)
- [OPENFLOW south-bound plugin](lighty-modules/lighty-openflow-sb)
* __lighty-resources__ - resource artifacts
- [RESTCONF North-Bound plugin](lighty-modules/lighty-restconf-nb-community)
- [NETCONF South-Bound plugin](lighty-modules/lighty-netconf-sb)
* __lighty-resources__ - Resource artifacts

## Controller Architecture

## Build and Install
In order to build and install lighty.io artifacts locally, follow the procedure below:
* __install JDK__ - make sure [JDK 8](http://openjdk.java.net/install/) or [JDK 11](https://jdk.java.net/11/) is installed
* __install maven__ - make sure you have maven 3.5.4 or later installed
* __setup maven__ - make sure you have proper [settings.xml](https://github.com/opendaylight/odlparent/blob/master/settings.xml) in your ```~/.m2``` directory
* __build and install locally__ - by running command: ``mvn clean install -DskipTests``
![architecture](docs/lighty.io-controller-architecture.svg)

## Build SDN controller
lighty.io offers simplified SDN application development procedure. Follow [this](lighty-examples/README.md) manual to create your own SDN controller project.
## Build & Install
In order to build and install lighty.io artifacts locally, follow the steps below:
1. __Install JDK__ - make sure [JDK 8](http://openjdk.java.net/install/) or [JDK 11](https://jdk.java.net/11/) is installed
2. __Install maven__ - make sure you have maven 3.5.4 or later installed
3. __Setup maven__ - make sure you have the proper [settings.xml](https://github.com/opendaylight/odlparent/blob/master/settings.xml) in your ```~/.m2``` directory
4. __Build & Install locally__ - by running command: ``mvn clean install -DskipTests``

![controller startup sequence](docs/lighty.io-controller-startup-sequence.svg)

## How-To migrate from ODL to lighty.io
[This guide](docs/ODL-migration-guide.md) describes migration procedure from ODL/Karaf application to lighty.io.
It contains summary of practical experiences based on real-life ODL project migrations.
## Migration from OpenDaylight to lighty.io
[This guide](docs/ODL-migration-guide.md) describes the migration procedure from OpenDaylight/Karaf application to lighty.io.
It contains a summary of practical experiences, based on real-life OpenDaylight project migrations.


## Run JUnit & IT tests
lighty.io project contains JUnit & integration tests. Because a complete OpenDaylight/lighty.io controller is often started with south-bound and north-bound plugins, these tests are often required.
IT tests are comparable with single-feature tests in ODL/Karaf environment - but much faster.

## Run JUnit and IT tests
lighty.io project contains JUnit tests and integration tests. IT tests are special, because complete ODL/lighty.io controller is started often with south-bound and north-bound plugins.
IT tests are comparable with single-feature tests in ODL/Karaf environment, but much faster.
_Before starting IT tests, please make sure that ports 8080, 8888, 8185, 2550 are free on localhost._

To run unit tests and integration tests, use command:
To run unit and integration tests, use the command:

```mvn clean install```

## Support, FAQ and examples of use
If you are interested, technical support, blogs, FAQ, technical articles and more examples are available at
[lighty.io](https://lighty.io/)
## Support, FAQ & Use-Cases
If you are interested in lighty.io, require technical support, need blogs, FAQ, technical articles and more examples, visit [lighty.io](https://lighty.io/)
47 changes: 47 additions & 0 deletions docs/lighty-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 8b25bf3

Please sign in to comment.