Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Contributors

 

nameOrganizationEmail

Patrick Liu

Huawei Technologies

Patrick.Liu@huawei

Tom TofighAT&Tmt3682@att

.com

Peter Lee

Nihui

ClearPath Networks

HuaweiTechnologies

plee@clearpathnet

nihui@huawei.com

Patrick Liu

Qinchuan

Huawei Technologies

HuaweiTechnologies

qinchuan@huawei

Partick.Liu@huawei

.com

Liu JingLiang

Jiangrui

Huawei Technologies

HuaweiTechnologies

henry.jiangrui@huawei

liujinliang1@huawei

.com

Jiang ChunCheng

Jiangchuncheng

Huawei Technologies

HuaweiTechnologies

jiangchuncheng@huawei.com

Lu kai

Zhaokexue

Huawei Technologies

HuaweiTechnologies

lukai1@huawei

zhaokexue@huawei.com

Li shuai

Kalyan A

HuaweiTechnologies

kalyana@huawei

Huawei Technologieslishuai2@huawei

.com

Vinod Kumar S

HuaweiTechnologies

Vinods.kumar@huawei

Zhou boHuawei Technologiesbob.zh@huawei

.com

Gaurav Agrawal

HuaweiTechnologies

Gaurav.agrawal@huawei

Zhao yingHuawei Technologiesying.zhaoying@huawei

.com

Yan linHuawei Technologiesyanlin1@huawei.com

 

High Level Architecture Overview 

Image Removed

YangForge

  YangForge provides runtime JavaScript execution based on YANG schema modeling language as defined in IETF drafts and standards (RFC 6020). Basically, the framework enables YANG schema language to become a programming language. It also utilizes YAML with custom tags to construct a portable module with embedded code. It is written primarily using CoffeeScript and runs on Node.js and the web browser (yes, it's isomorphic). This software is sponsored by ClearPath Networks on behalf of the OPNFV (Open Platform for Network Functions Virtualization) community.

     You can visit YangFore github repository.

Image Removed

YangShell

 It is a internal application in ONOS. 

Image Removed

 

RoadMap

L3VPN Demo Application

http://github.com/saintkepha/onos-l3vpn

The demo application is actualized using YangForge and based on following IETF YANG models:

L3VPN YANG Model Sample  

 l3vpn-yang-NB.rar

...

Bharat Saraswal

HuaweiTechnologies

bharat.saraswal@huawei.com

Vidyashree Rama

HuaweiTechnologies

Vidyashree.Rama@huawei.com

Janani B

HuaweiTechnologies

janani.b@huawei.com

 

Overview

YANG is a data modeling language, used to model configuration & state data.

Modeling languages such as SMI (SNMP), UML, XML Schema, and others already existed. However, none of these languages were specifically targeted to the needs of configuration management. They lack critical capabilities like being easily read and understood by human implementer's, and fell short in providing mechanisms to validate models of configuration data for semantics and syntax.

YANG is a preferred choice to represent interface and behavior semantics (of device/ controller/ component) because of following reason:

  • Human readable, easy to learn representation.

  • Hierarchical configuration data models.

  • Reusable types and groupings (structured types).

  • Extensible through augmentation mechanisms.

  • Supports the definition of operations (RPCs).

  • Formal constraints for configuration validation.

  • Data modularity through modules and submodules.

YANG modeled interfaces needs to be implemented by corresponding application /component.

There are 2 parts in implementing the interface:

a) Syntax/ Semantics processing of the request/response being exchanged.

b) the business logic to compute the request.

Implementation of syntax/ semantics processing is required. This implementation can be a manual approach wherein the data structures are manually implemented in target language. In this approach there is a scope for human error while implementation also it requires considerable efforts for implementation. Alternatively the implementation can be automated wherein these data structure are automatically generated thereby avoiding manual errors and improving efficiency.

We intend to abstract the applications from syntactical processing of information encoding with external world and provide a framework in which the applications only need to implement the business logic and seamlessly support any interface language like REST, NETCONF etc. As a part of this goal following work is proposed in Falcon and Golden Eye release.


Proposed Work

Proposed Falcon Deliverable:

  • Basic YANG Utils supporting:

    • Basic built-In data type.

    • Individual YANG file support.

  • Sample application (with manual REST implementation)


Proposed Golden Eye Release Deliverable:

  • Advanced YANG Utils supporting:

    • Derived data types.

    • Augmentation/Grouping/Union support.

    • Module/Sub-module support.

    • Import/Include support.

  • NBI REST framework automation including:

    • Automated APP URI registration.

    • Automated JSON CODEC implementation.

  • Sample application (with automated REST implementation)

 

YANG Utils Translator Details:

Overview

YANG Utils are the basic building block to achieve the final goal of abastracting the language based Syntax/Semantics processing by APPs. These UTILS intend to have following:

  1. YANG Parser for parsing YANG file.
  2. Translator tool for auto-generation of JAVA corresponding to a given YANG.
  3. Metadata generation which will be an input for NBI/SBI automation.

 

Image Added


Example

REST NBI Automation Details:

Overview

With the current REST mechanism, every APP must perform the Manual Rest Registration and implement the manual CODEC function, thereby slowing down the APP development and increasing chances for manual error. Current REST NBI Mechanism is depicted in below figure:

Image Added


As a part of this project we intend to model the NBI Interface and augment the REST NBI Framework to Automate the URI Registration and CODEC Implementation, thereby reducing manual error and faster application development. Proposed REST NBI Mechanism is depicted in below figure:

Image Added


Benefit & Impact Analysis:

Benefit to Service Provider

  • Modeled based Services/Network Visibility

  • YANG based Standard Interface Representation.

  • Seamless Standard YANG based Application Adaptation.

Benefit to ONOS Developers

  • Smaller Learning Curve

  • Provides Faster APP Development.

  • Better Quality due to Automation.

  • Modeled based application interface.

Impact on Existing System

  • Augments the existing work.

  • No impact on existing system.


Long Term Objective:

Abstraction and Automation of:

  1. NBI framework where in application's can seamlessly support any NBI interface.
  2. NETCONF SBI framework. (Extend support to ONOS NETCONF team with metadata and class generation).
  3. Driver Behavior.

Image Added

Sample Application

Image Added

RoadMap