YANG Catalog Latest Developments
bclaise at cisco.com (Benoit Claise) Tue, 05 September 2017 06:15 UTC
From: "bclaise at cisco.com"
Date: Tue, 05 Sep 2017 08:15:00 +0200
Subject: YANG Catalog Latest Developments
Message-ID: <d1247165-7950-8a3c-2836-ba56d41aa1fa@cisco.com>
Dear all, On behalf of the full team of dedicated people, we would like to share the latest developments on the yangcatalog.org project. As a reminder, this is what we achieved over a month ago <http://www.claise.be/2017/07/yang-catalog-latest-development-ietf-99-hackathon/>. - We posted a new draft version: YANG module for yangcatalog.org <https://datatracker.ietf.org/doc/draft-clacla-netmod-model-catalog/>. It's used as the foundation for the APIs for yangcatalog.org. - As you can see in this YANG module, we added some additional per-module metadata. That is: leaf generated-from { type enumeration { enum mib { description "Module generated from Structure of Management Information (SMI) MIB per RFC6643."; } enum code { description "Module generated automatically from code."; } enum not-applicable { description "Module was not generated but it was authored manually."; } enum native { description "Module generated from platform internal or proprietary structure."; } } And: leaf tree-type { type enumeration { enum split { description "This module uses a split config/operational state layout."; } enum nmda-compatible { description "This module is compatible with the Network Management Datastores Architecture (NMDA) and combines config and operational state nodes."; } enum transitional-extra { description "This module is derived as a '-state' module to allow for transitioning to a full NMDA-compliant tree structure."; } enum openconfig { description "This module uses the Openconfig data element layout."; } enum unclassified { description "This module does not have a data element tree, or it does not belong to any category."; } enum not-applicable { description "This module is submodule."; } } description "The type of data element tree used by the module as it relates to the Network Management Datastores Architecture."; reference "draft-dsdt-nmda-guidelines Guidelines for YANG Module Authors (NMDA)"; } And, leaf module-classification { type enumeration { enum network-service { description "Network Service YANG Module that describes the configuration, state data, operations, and notifications of abstract representations of services implemented on one or multiple network elements."; } enum network-element { description "Network Element YANG Module that describes the configuration, state data, operations, and notifications of specific device-centric technologies or features."; } enum unknown { description "In case that there is not sufficient information about how to classify the module."; } enum not-applicable { description "The YANG module abstraction type is neither a Network Service YANG Module nor a Network Element YANG Module."; } } mandatory true; description "The high-level classification of the given YANG module."; reference "RFC8199 YANG Module Classification"; - The metadata are available for each YANG module. For example, using the YANG Catalog API, you can retrieve the metadata for the ietf-connectionless-oam.yang module at revision 2017-06-09 and the "ietf" organization using the GET request: https://yangcatalog.org:8443/search/modules/ietf-connectionless-oam.yang,2017-06-09,ietf This is key to quickly see if a YANG module is NMDA compliant (tree-type = "nmda-compatible"). - Full working API to read, delete, and add modules with data caching for optimize data retrieval integrated with YANG Catalog search application. - Created?a logger?with logs for the entire?project. - Created caching for?fast searching. - Regarding the YANG W3C Regex Expression Validator, we have a new look and feel. The messages are no longer separated by pattern number titles. You will only get messages for mis-matches, errors or in case the W3CGREP does not match the YANGRE result, making the display cleaner and more useful. Colors will still indicate if a certain pattern matches or not. Also, Pieter fixed some display bugs (error messages not showing in certain conditions) and added an "About" tab. - In terms of different Standard Development Organizations and Open Source projects, we now have YANG modules from the IETF, BBF, MEF, IEEE, and Openconfig; with the metadata populated for the IETF, MEF, and MEF. In terms of different vendors, we now have YANG modules from Cisco (with metadata) and from Huawei. Juniper also participated in the hackathon, and the work to add their respective YANG modules is under way. Regards, Joe and Benoit
- YANG Catalog Latest Developments Benoit Claise