NETCONF¶
Overview¶
The NETCONF projects hosts multiple components relating to IETF’s NETCONF Working Group:
Northbound and southbound plugins for NETCONF protocol, as described in RFC-6241
Northbound plugin for RESTCONF protocol, as described in RFC-8040
Northnound plugin for descring RESTCONF endpoint in terms of OpenAPI 3.0
Behavior/Feature Changes¶
The transport layer of the NETCONF protocol implementation has been completely refactored. This effort has all but unified the ‘normal’ and ‘call-home’ mode of operation. This results in a more maintaintanable codebase with much easier feature parity between the two modes.
RESTCONF implementation has been been refactored to a large extent, taking advantage of JAX-RS asynchronous requests, so that operations on the datastore and NETCONF devices no longer pin the HTTP thread.
The OpenAPI component has been completely modernized. It is now based on Swagger UI vesion 5.13.0 and is memory usage has been brought under control.
New Features¶
No new features.
Deprecated and Removed Features¶
The odl-yanglib
experimental feature has been removed.
Resolved Issues¶
The following table lists the issues resolved in this release.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
OpenAPI: invalid explorer redirection URL |
Done |
5.0.10, 6.0.8, 7.0.4 |
||
org.opendaylight.netconf.topology-singleton fails to resolve |
Done |
6.0.8, 7.0.4 |
||
ietf-yang-library:modules-state not available |
Done |
7.0.3 |
||
OpenAPI: Missing action input and output |
Done |
7.0.4 |
||
Cannot instantiate on RpcEffectiveStatementImpl… |
Done |
7.0.1 |
||
Cannot deserialize key value |
Done |
7.0.4 |
||
Cannot create new list resource with instance identifier key |
Done |
7.0.4 |
||
OpenAPI: Wrong path reference for netopeer2 models |
Done |
7.0.2 |
||
OpenAPI: netopeer2 duplicated mapping key |
Done |
7.0.2 |
||
Device’s reconnecting does not work |
Done |
7.0.0 |
||
The number of connection attemps is ignored |
Done |
7.0.0 |
||
Missing device’s connection status |
Done |
7.0.2 |
||
Callhome Device Remains ‘DISCONNECTED’ After Adding to Allowed Devices |
Done |
7.0.2 |
||
Full list delete fails when called on remote device via restconf |
Done |
7.0.4 |
||
OpenAPI: Iterate over models in SchemasStream |
Done |
7.0.0 |
||
OpenAPI: Iterate over models in PathsStream |
Done |
7.0.0 |
||
No implementation of subscribe-device-notification available |
Done |
7.0.2 |
||
Blocking call during NetconfDeviceSchemas acquisition |
Done |
7.0.0 |
||
OpenAPI: ignoring restconf settings |
Done |
5.0.10, 6.0.7, 7.0.2 |
||
NetconfDeviceNotificationService.registerNotificationListeners() is not implemented |
Done |
5.0.10, 6.0.6, 7.0.0 |
||
Improve error path for list items |
Done |
7.0.0 |
||
Given final block not properly padded. Such issues can arise if a bad key is used during decryption |
Won’t Do |
7.0.0 |
||
Input length must be multiple of 16 when decrypting with padded cipher |
Won’t Do |
7.0.0 |
||
NPE on topology create-device without credentials |
Done |
5.0.10, 6.0.6, 7.0.0 |
||
Update user-guide for for login-password removal |
Done |
7.0.0 |
||
Netconf device stays connected even when unavailable |
Done |
7.0.0 |
||
Adapt netconf testtool for login-password removal |
Done |
7.0.0 |
||
Invalid NETCONF message triggers unnecessary parsing of partial message |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
Duplicate ‘ignore-missing-schema-sources’ in the NETCONF node |
Done |
5.0.10, 6.0.6, 7.0.0 |
||
PUT request with insert=after cannot add last item into list |
Done |
5.0.10, 6.0.7, 7.0.2 |
||
OpenApi Remove processModule method from DefinitionGenerator |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
POST request with insert parameter fails if target URI points the list |
Done |
5.0.10, 6.0.8, 7.0.4 |
||
NetconfDeviceMount “Already initialized” error |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
OpenApi ignore min-elements conditions for list |
Done |
7.0.0 |
||
OpenAPI Generates Incorrect ‘min-elements’ for XML Leaf-List |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
netconf-client-mdsal emits useless namespace in filter |
Done |
5.0.8, 6.0.5, 7.0.0 |
||
OpenApi List show only string type for path parameters |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
OpenAPI generate multiple resources/subresources in POST request |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
OpenAPI POST request generates incorrect XML example payload |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
Create tests for POST “insert” query parameter |
Done |
7.0.0 |
||
RestconfSchemaService return 500 if model was not found |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
||
Unnecessary data change events for child-nodes-only |
Done |
6.0.4, 7.0.0 |
||
RESTCONF DataTreeChange notifications use incorrect format |
Done |
7.0.0 |
||
Incorrect subscription request URL |
Done |
6.0.3, 7.0.0 |
||
OpenApi: XML payload for RPC is missing namespace |
Done |
4.0.9, 5.0.8, 6.0.5, 7.0.0 |
||
Incorrect schema reference in root post link |
Done |
4.0.9, 5.0.8, 6.0.5, 7.0.0 |
||
(devices) POST returns 500 on data already exists |
Done |
5.0.10, 6.0.6, 7.0.0 |
||
netconf-testtool not building when GID too big |
Done |
7.0.0 |
||
Incorrect response for failed PATCH request |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
OpenApi: Remove incorrect list POST requests |
Done |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
Known Issues¶
The following table lists the known issues that exist in this release.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
Missing default restconf NB config file |
Resolved |
5.0.10, 6.0.6, 7.0.0 |
6.0.9, 7.0.8, 8.0.0 |
||
Random failures of transport-ssh tests |
Resolved |
4.0.3, 4.0.9, 5.0.0, 5.0.10, 6.0.0, 6.0.8, 7.0.0, 7.0.7, 8.0.0 |
6.0.9, 7.0.8, 8.0.0 |
||
OpenApi: missing parameters for ROOT data GET |
In Review |
7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7 |
7.0.10, 8.0.2, 9.0.0 |
||
OpenApi: Use PathsEntity again |
In Progress |
7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7 |
7.0.10, 8.0.2, 9.0.0 |
||
The tapi-topology’s RPCs outputs are missing |
Resolved |
7.0.4 |
7.0.5 |
||
Openapi: Missing schema for node processed by another parent |
Resolved |
7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7 |
7.0.8, 8.0.0 |
||
OpenAPI: Generate document for module without revision |
Resolved |
7.0.1, 7.0.2, 7.0.3, 7.0.4 |
7.0.5 |
||
Test Tool Fails Intermittently to Send Required Netconf Replies |
Resolved |
7.0.0 |
7.0.5 |
||
sal-remote create-notification-stream is not working |
Resolved |
7.0.0, 7.0.4, 8.0.0, 8.0.1 |
7.0.10, 8.0.2 |
||
NPE on GET rests/operations |
Resolved |
7.0.3, 7.0.4 |
7.0.5 |
||
openapi / swagger does not work for TransportPCE with controller resources |
Resolved |
7.0.3 |
7.0.5 |
||
Error 500 on Notification Stream Access for Netconf Device Subscriptions |
Resolved |
7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4 |
7.0.5 |
||
OpenAPI: not used “duplicated” schema |
Resolved |
7.0.3 |
7.0.5 |
||
Capabilities created for yang models without revision are unavailable |
Resolved |
7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4 |
7.0.5 |
||
Initial device connection fails due to unstable network conditions on device |
Resolved |
7.0.0 |
7.0.5 |