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¶
New NETCONF release offers lightweight Netty-based RESTCONF Northbound on port 8182. For more details see: NETCONF-873.
The OpenAPI component modernization has continued by introducing parameters to load documentation to width and depth which helps users to scale document as needed. For mode details see: NETCONF-1225 and NETCONF-1298.
New Features¶
Deprecated and Removed Features¶
There are no deprecated or removed features.
Resolved Issues¶
The following table lists the issues resolved in this release.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
Stream URLs constructed are incorrect for Netty endpoint |
Done |
8.0.2 |
||
OpenAPI: Fails to generate example for List with min-elements and leafref type child |
Done |
7.0.10, 8.0.2 |
||
Parser error in the TransportPCE openapi documentation (swagger) |
Done |
7.0.10, 8.0.2 |
||
Encapsulate netconf-node state |
Done |
8.0.2 |
||
RESTCONF server does not adverize “defaults” capability |
Done |
6.0.9, 7.0.10, 8.0.2 |
||
Notifications not available with ODL-based NETCONF server |
Done |
7.0.9, 8.0.1 |
||
NETCONF server does not advertise :interleave capability |
Done |
6.0.9, 7.0.9, 8.0.1 |
||
MessageBodyWriter not found for YangErrorsBody |
Done |
8.0.1 |
||
MessageBodyWriter is not found for YANG Patch reply causing HTTP 500 Error |
Done |
7.0.8, 8.0.1 |
||
Netty SSE implementation is not consistent with JAXRS one |
Done |
8.0.1 |
||
RESTCONF server does not list :yang-patch capability |
Done |
6.0.9, 7.0.10, 8.0.2 |
||
Insert of top-level node via restconf returns internal server error (500) |
Done |
8.0.1 |
||
restconf-server-jaxrs endpoint returns 500 error for host-meta requests |
Done |
6.0.9, 7.0.8, 8.0.1 |
||
Missing default restconf NB config file |
Done |
6.0.9, 7.0.8, 8.0.0 |
||
Random failures of transport-ssh tests |
Done |
6.0.9, 7.0.8, 8.0.0 |
||
NetconfDeviceCommunicator does not release semaphore after disconnection |
Done |
6.0.9, 7.0.8, 8.0.0 |
||
Intermittent failure to emit RESTCONF body |
Done |
7.0.7, 8.0.0 |
||
Accumulating KeepaliveTask executions |
Done |
6.0.9, 7.0.8, 8.0.0 |
||
Openapi: Missing schema for node processed by another parent |
Done |
7.0.8, 8.0.0 |
||
Accumulating “Keepalive RPC failed with error” |
Done |
6.0.9, 7.0.8, 8.0.0 |
||
sal-remote create-notification-stream is not working |
Done |
7.0.10, 8.0.2 |
||
NPE on topology PUT device without credentials |
Done |
8.0.0 |
||
RESTCONF OPTIONS on /data does not produce Accept-Patch |
Done |
7.0.10, 8.0.2 |
||
OpenApi missing POST request to device root |
Done |
7.0.8, 8.0.0 |
||
Mounting a device does not work when multiple TLS Certificates are present |
Done |
8.0.0 |
||
Refactor restconf-nb wiring |
Done |
8.0.0 |
||
Do not restart YangLibraryWriterSingleton on URL provider change |
Done |
7.0.8, 8.0.0 |
||
OpenAPI: improve parameters validation |
Done |
8.0.1, 9.0.0 |
||
Clean UncancellableFuture class |
Done |
8.0.0 |
||
Update netconf-keystore model for unified storage of encoded keys and certificates |
Done |
8.0.0 |
||
Turn RestconfStrategy into interface |
Done |
8.0.0 |
||
Simplify ensureParentsByMerge |
Done |
8.0.0 |
||
OpenAPI: Improve control over width/depth from UI |
Done |
8.0.0 |
||
OpenAPI: Improve anydata example |
Done |
7.0.8, 8.0.0 |
||
Remove device from operational topology on failure |
Done |
6.0.9, 7.0.8, 8.0.0 |
||
Openapi: Add ability to limit string example length |
Done |
6.0.8, 7.0.7, 8.0.0 |
||
Unify certificates payload for keystore RPCs |
Done |
8.0.0 |
||
Eliminate ensureParentsByMerge logic for NETCONF devices |
Done |
7.0.8, 8.0.0 |
||
OpenAPI: Create SchemasEntity class to simplify SchemasStream |
Done |
7.0.8, 8.0.0 |
||
Document RemoteDeviceCommunicator#sendRequest method |
Done |
8.0.0 |
||
Make connection timeout and keep-alive configurable for Call-Home services |
Done |
8.0.0 |
||
Refactor RESTCONF server error reporting |
Done |
8.0.0 |
||
Define a netconf-api capability model |
Done |
8.0.0 |
||
No documentation of Netconf over TLS |
Done |
7.0.9, 8.0.0 |
||
Provide SSE support for HTTP transport |
Done |
8.0.0 |
||
OpenAPI: limit document size with depth/width parameters |
Done |
8.0.0 |
||
Provide RESTCONF over a dedicated Netty-based endpoint |
Done |
8.0.1 |
||
Support external Auth service integration for HTTP Transport |
Done |
8.0.0 |
||
Adapt user guide for netconf-node state encapsulation |
Done |
8.0.2 |
||
Update netconf user guide to Netty based endpoint settings |
Done |
8.0.1 |
Known Issues¶
The following table lists the known issues that exist in this release.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
Reconfigured device failed to reconnect with: IllegalStateException: Transaction factory was closed. No further operations allowed. |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.4, 9.0.0 |
||
Thread starvation when SSH KEX is ongoing |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
netconf-testtool seems to misconfigure the datastore |
Confirmed |
6.0.8, 7.0.10, 8.0.2 |
8.0.4 |
||
OpenApi: Cannot get list of mount points |
Resolved |
8.0.2 |
8.0.3 |
||
RESTCONF 500 Error Not Properly Formatted |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
netconf-testtool logs WARN for status code 201 |
Resolved |
7.0.10, 8.0.2 |
6.0.9, 7.0.11, 8.0.3 |
||
Long-term unreachable device may decrease reconnection time to nearly zero |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
It is possible to set the backoff multiplier to 0, which instantly decreases the backoffMillis time to zero. |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
Intermittent failures of SseClientServerTest |
Resolved |
7.0.4, 8.0.0 |
7.0.11, 8.0.3 |
||
IllegalStateException: Attempted to access unknown service ClientUserAuthService |
Resolved |
7.0.4, 8.0.2 |
6.0.9, 7.0.11, 8.0.3 |
||
Encoded slash %2F in URI is not parsed properly by RESTCONF Netty endpoint |
Resolved |
8.0.1, 8.0.2 |
8.0.3 |
||
Java heap space in TransportPCE openapi documentation (swagger) after the logging step |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
Fix PlaintextLocalFileStorage which use ATOMIC_MOVE without guarantee of same file system |
Resolved |
7.0.9, 8.0.2 |
7.0.11, 8.0.3 |
||
OpenAPI: Actions displayed under rests/operations |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
WWW-Authenticate header is not returned with 401 Unauthorized response by Netty based HTTP server |
Resolved |
8.0.1 |
8.0.3 |
||
transport-http leaks ByteBuf |
Confirmed |
8.0.1 |
8.0.4 |
||
Testtool self-registration request rejected by Netty based RESTCONF server |
Resolved |
8.0.1 |
8.0.3 |
||
CallHomeSshServerTest is unstable |
Confirmed |
8.0.0 |
8.0.4, 9.0.0 |
||
OpenApi: Add response body example for ROOT operations GET |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
OpenApi: Add response body example for ROOT data GET |
Resolved |
7.0.10, 8.0.2 |
7.0.11, 8.0.3 |
||
Request timeout is too long for NETCONF keepalive |
Open |
5.0.9, 6.0.8, 7.0.5, 8.0.0 |
Carbon SR3, Nitrogen SR1, Oxygen, Oxygen SR2, Oxygen SR3 |