80 likes | 261 Views
YANG Tools. Project Proposal Anton Tkacik, Lukas Sedlak. Contents. Project Overview Scope Current status Plans Reusable parts & Examples. Overview. Project aims to develop reusable set of components processing YANG Parsing and processing YANG schemas
E N D
YANG Tools Project Proposal Anton Tkacik, Lukas Sedlak
Contents • Project Overview • Scope • Current status • Plans • Reusable parts & Examples
Overview • Project aims to develop reusable set of components processing YANG • Parsing and processing YANG schemas • support for code generation based on YANG • validation of XML based on YANG schema • prototyping of YANG extensions • REST APIs – YANG-API (draft-bierman-netconf-yang-api-01)
Scope • YANG infrastructure parser, meta-model java binding • Maven plugin for processing YANG files • Infrastructure for code generators based on YANG • Validation of instance data (XML) based on YANG to RelaxNG mapping • PoC and support for new YANG extensions reusable by other projects. • IDE related tools for YANG models • REST APIs based on YANG schemas
Current Status • Currently is part of controller project • Functionality • Parsing and processing YANG files into meta-model for YANG • Maven integration, support for code generators • Code generator for Model-driven SAL • Functionality was presented several times - on technical calls, hack-fests as part of Model-driven SAL for Controller
Relationship to other projects • YANG is used as modeling language for Controller Model-driven SAL, YANG Tools provides necessary functionality and infrastructure for that • Northbound REST APIs with well-defined schema (YANG APIs) – reusable in controller and applications • Programmatic APIs to OFConfig (which is defined in YANG form) • Programmatic APIs to Netconf modules
Current Status - Processing • Processing of YANG • Discovery of available YANG files / models • Parsing files to AST • Conversion from AST to Semantic Model • Resolving references in Semantic Model • Generating output final Semantic Model