Details
-
Bug
-
Status: Resolved
-
High
-
Resolution: Won't Do
-
None
-
None
-
None
Description
The RFC8040 implementation is too brittle to support real-word filtering situations. In this case, we're trying to retrieve the active alarm list from a set of components (logical-termination-points - LTPs).
The subelement that contains the alarm list does not exist in all LTPs, and if it is missing from any of the LTPs the entire query fails with error:
{
"errors": {
"error": [
]
}
}
Query:
[http://controller:8181/rests/data/
about:blank]network-topology:network-topology/topology=topology-netconf/node=siae_alcplus2e_12969/yang-ext:mount/
core-model-1-4:control-construct?content=nonconfig
&fields=logical-termination-point(local-id;layer-protocol(administrative-state);ethernet-container-2-0:ethernet-container-pac(ethernet-container-current-problems))
Partial tree model:
module: ethernet-container-2-0
augment /core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol:
+--rw ethernet-container-pac
.
.
.
+--ro ethernet-container-current-problems
| +--ro current-problem-list* [sequence-number] |
| +--ro problem-name? string |
| +--ro sequence-number int16 |
| +--ro timestamp? yang:date-and-time |
| +--ro problem-severity? severity-type . . . |
Expected behavior:
If a particular subelement doesn’t exist, simply don’t return it.