Project Proposal Anton Tkacik, Lukas Sedlak 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
Backup
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