References
-
-
CPS-1301Getting issue details...
STATUS
- Sample Yang Module: https://github.com/YangModels/yang/blob/main/vendor/cisco/xr/534/ietf-inet-types.yang
- Ahila P can you please insert a reference to your commit here?
Assumptions
# | Assumption | Notes |
---|---|---|
1 | Prefix can be insert before each container but this is optional | See RFC... |
Issues & Decisions
# | Issue | Notes | Decision |
---|---|---|---|
1 | Performance issue with current solution | Current solution used inefficient query to populate (first) prefix property for ALL fragments although only used for top level | |
2 | Top level container is not always defined in first module | ||
3 | Add prefix for container in same module | This is allowed but not done normally. Team concerned about performance issues and impact on URLs when using this | |
4 | Add prefix to first container whe this is not the top level for the module it is defined | Image A and B and C are defined in module with prefix X: so full path to C X:/A/B/C however it is possible to retrieve B or C directly, in that case should teh prefix stil be use ie. X:/B/C | |
5 | Insert prefix or name (last token of namespace) | See sample from https://github.com/YangModels/yang/blob/main/vendor/cisco/xr/534/ietf-inet-types.yang ietf-inet-types.yang module ietf-inet-types { namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types"; prefix "inet";
| |
6 | Prefix for (additional) leaves that are defined in a separate module then the container itself | ||
7 | How to handle lists (instead of container) | Possibly ignore [@key=value] part. Small neglectable change of same model defined both under same parent... | |
8 | Performance Considerations | SchemaContext generation is expensive.
|
Short Term Solution
Options
- iterator over schemaContext tree to generate (matchers for) all possible paths or 'normalized paths (ie. without list indexes) See also issue #8
- wak three using given paths which need to be resolved as needed (adn cache once found)
Long Term Solution
- Each Fragment needs a reference to the relevant module (on DB Level)
- Consider not removing original prefix's from input (could be caused by ODL parser)