-
Improvement
-
Resolution: Unresolved
-
Medium
-
None
Currently there two web services with own endpoints providing yang sources by module/submodule name and revision:
RestconfSchemaService(Impl) of restconf-nb
- path: (host:port)/rests/modules/(name)/(revision)
- content-types: application/yang, application/xml+yin
- source: DOMSchemaService instance
YangLibService(YangLibProvider) of yanglib
- path: (host:port)/yanglib/schemas/(name)/(revision)
- content-types: application/yang, text/plain
- source: local [karaf] directory with yang files
In order to make URLs and produced content-types consistent, and to simplify the maintenance it makes sense to join these services into single one.
Due to restconf-nb service also serves yang resources of mounted devices it seems reasonable to move functionality of yanglib to restconf-nb.
In order to differentiate the sources it makes sense to use multiple schemas (and/or module-sets).
Suggested URL then became (host:port)/modules/(source-id)/(name)/(revision)
where source-id will reference where the yang resource expected to be taken from.
It requires clarification either yang resources from a local folder (current yanglib functionality) need to be populated to yang-library data or it can be omitted as not a part of global context (similar to resources on mounted device)
- relates to
-
MDSAL-834 Support multiple schemas/module-sets by YangLibraryContentBuilder
- Open
-
NETCONF-668 RFC7895/RFC8525 implementation should be independent of any other modules in a separate feature
- Resolved
-
NETCONF-974 Support YIN sources in yanglib
- Confirmed