YANG Tools
Welcome to YANG Tools
Introduction
YANG Tools is a infrastructure project aiming to develop necessary tooling and libraries providing support of NETCONF and YANG for Java (JVM-language based) projects and applications, such as Model Driven SAL for Controller (which uses YANG as its modeling language) and Netconf / OFConfig plugins.
Project Information
Project Proposals:YANG Tools
Name
YANG Tools
Repo Name
yangtools
Description
YANG Tools is a infrastructure project aiming to develop necessary tooling and libraries providing support of NETCONF and YANG for Java (JVM-language based) projects and applications, such as Model Driven SAL for Controller (which uses YANG as it's modeling language) and Netconf / OFConfig plugins.
Motivatation
We believe that generic functionality related to the YANG should not be a part of Controller project, but should live in separate project and could be reused by various projects and parties without directly depending on Controller project.
Scope
The scope of YANG Tools includes:
Parser of YANG files
Java meta-model for YANG
Java binding for YANG
Maven plugin for processing YANG files
Infrastructure for code generators based on YANG
Validation of instance data (XML) based on YANG to RelaxNG mapping - RFC6110
Proof-of-concept, research and support for new YANG extensions, which are meant to be reused by other projects.
IDE related tools to assist in writing, using and developing YANG models
Libraries and supporting functionality for YANG API (REST APIs defined by the YANG model).
Resources Committed (developers committed to working)
Tony Tkacik <ttkacik@cisco.com>
Robert Varga <rovarga@cisco.com>
Lukas Sedlak <lsedlak@cisco.com>
Martin Vitez <mvitez@cisco.com>
Jan Medved <jmedved@cisco.com>
Initial Committers
Tony Tkacik <ttkacik@cisco.com>
Robert Varga <rovarga@cisco.com>
Lukas Sedlak <lsedlak@cisco.com>
Martin Vitez <mvitez@cisco.com>
Jan Medved<jmedved@cisco.com>
Vendor Neutral
No vendor package names in code
No vendor branding present in code or output of build
No vendor branding present in documentation
Meets Board Policy (including IPR)
No Inbound Code Review required for this project. No substantial contribution of 3rd party code is present {Phil Robb: 07-10-13}
Jenkins
Git Patches &Code Review
Current Release Notes
Please look at the latest project information in our stable release.
Logical Subprojects
Concepts
Project defines base concepts and helper classes which are project-agnostic and could be used outside of YANG Tools project scope.
Yang
Project contains YANG related artefacts such as binding specification to Java, YANG parser, semantic model and Maven plugin for processing YANG files.
Code Generator
Projects contains code generator definitions and utility classes to generate Java source files based on parsed yang models.
Model
Project contains base yang modules packaged as maven projects.
Contribute
YANG Tools project is open to contributions and we would appreciate your help with:
Generation of DSDL (RelaxNG) based on RFC6110
compile time generation of YIN representation (using custom generator for YANG Maven Tools)
Implementation of validation of instance data (XML) based on YANG to RelaxNG mapping - RFC6110
Bugfixes, code reviews
Documentation
Example generators
Testing with various YANG modules and models
If you are interested feel free to contact as at yangtools-dev mailing list or submit a patch for review.
Project Facts
Project Creation Date: July 18th, 2013
Lifecycle State: Mature
Type: Kernel
Primary Contact: Robert Varga <robert.varga@pantheon.tech>
Project Lead: Robert Varga <robert.varga@pantheon.tech>
Committers:
Jan Medved <jmedved@cisco.com>
Lukas Sedlak <lsedlak@cisco.com>
Martin Vitez <mvitez@cisco.com>
Robert Varga <rovarga@cisco.com>
Tony Tkacik <tony.tkacik@gmail.com>
IRC: freenode.net #opendaylight
Mailing List: yangtools-dev@lists.opendaylight.org
Archives: mailing list archives
Meetings: TBD
Repository: git clone https://git.opendaylight.org/gerrit/yangtools
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs:
Requests: