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 odl-restconf-nb-rfc8040
feature has been renamed to odl-restconf-nb
.
New Features¶
Support for subscribing to mounted NETCONF devices has been added. See NETCONF-745 for details.
A new RESTCONF query extension has been added. This supports reporting only leaf values which have actually changed. See NETCONF-862 for details.
Deprecated and Removed Features¶
RPC definitions in netconf-node-topology.yang
have been deprecated. Their functionality is completely covered
by manipulating the configuration datastore.
Resolved Issues¶
The following table lists the issues resolved in this release.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
Duplicate yang-ext:mount in error message |
Done |
3.0.9, 4.0.5, 5.0.0 |
||
Fail to generate <discard-changes> RPC |
Done |
3.0.9, 4.0.5, 5.0.0 |
||
‘commit’ sent to devices without ‘candidate’ capability |
Done |
3.0.9, 4.0.5, 5.0.0 |
||
Netconf testtool fails to find credentials node in SchemaTree |
Done |
5.0.0 |
||
Error writing values with XML YANG Patch |
Done |
5.0.1 |
||
Netconf callhome failed for devices with old KEX algorithms (SHA1) |
Done |
3.0.9, 4.0.6, 5.0.2 |
||
Callhome session is closed after allowing device to connect |
Done |
5.0.1 |
||
Unable to load org.eclipse.jetty.websocket.server.WebSocketServerFactory |
Done |
4.0.6, 5.0.3 |
||
Websocket timeout exception |
Done |
4.0.6, 5.0.3 |
||
OpenAPI: Schemas are not shown |
Done |
3.0.9, 4.0.6, 5.0.4 |
||
yanglib does not support RFC6020 media types |
Done |
3.0.9, 4.0.6, 5.0.4 |
||
Fix odl-yanglib feature usage |
Done |
3.0.9, 4.0.6, 5.0.2 |
||
Unable execute YANG patch request when targeting augmented element |
Done |
3.0.9, 4.0.6, 5.0.3 |
||
Do not touch configuration datastore during netconf-topology init |
Done |
5.0.0 |
||
Separate out LockChangeListener from NetconfDeviceSalFacade |
Done |
5.0.0 |
||
Move NetconfDeviceTopologyAdapter to netconf.topology.spi |
Done |
5.0.0 |
||
RemoteDeviceId should capture only MD-SAL preference |
Done |
5.0.0 |
||
Add descriptions to web contexts |
Done |
5.0.0 |
||
Netconf candidate capability non RFC compliant fallback |
Won’t Do |
4.0.6, 5.0.1 |
||
Add session-id to the operational datastore |
Done |
5.0.2 |
||
Convert mdsal-netconf-tcp to OSGi DS |
Done |
5.0.2 |
||
Separate out schemaless mountpoints |
Done |
5.0.0 |
||
Device Notification |
Done |
5.0.0 |
||
Add changed-leaf-nodes-only subscription extension |
Done |
5.0.0 |
||
SchemaResourceManager should not reference network-topogy |
Done |
5.0.0 |
||
Encapsulate RemoteDeviceHandler.onDeviceConnected() access services |
Done |
5.0.0 |
||
NetconfDeviceCapabilities should be imutable |
Done |
5.0.0 |
||
Specialize schemaless remote device RPC service |
Done |
5.0.0 |
||
Complete firstConnectionFuture without holding locks |
Done |
5.0.0 |
||
Remove generics from sal.connect.api |
Done |
5.0.0 |
||
Do not expose NetconfDeviceCapabilities from NetconfTopology |
Done |
5.0.0 |
||
Create tests for different instances of MixinNodes |
Done |
5.0.1 |
||
Remove SchemaAware NormalizedNode builders usage |
Done |
5.0.0 |
||
Expose sal-netconf-connector configuration as a grouping |
Done |
5.0.0 |
||
Simplify OperationsContext with yangtools 7.0.9 + |
Done |
3.0.9, 4.0.5, 5.0.0 |
||
Move NetconfTopologyRPCProvider to netconf.topology.spi |
Done |
5.0.0 |
||
Rename netconf.api.ModifyAction to EffectiveOperation |
Done |
5.0.0 |
||
Deprecate netconf-node-topology.yang RPCs |
Done |
5.0.0 |
||
Eliminate Blueprint from mdsal-netconf-monitoring |
Done |
5.0.2 |
||
Convert mdsal-netconf-ssh to OSGi DS |
Done |
5.0.2 |
||
Eliminate Blueprint from mdsal-netconf-impl |
Done |
5.0.2 |
||
Convert netconf-config to OSGi DS |
Done |
5.0.2 |
||
Convert mdsal-netconf-connector to OSGi DS |
Done |
5.0.2 |
||
Convert restconf-nb to OSGi Declarative Services |
Done |
5.0.2 |
||
Convert netconf-topology to OSGi DS |
Done |
5.0.2 |
||
Convert sal-rest-docgen to OSGi DS |
Done |
5.0.2 |
||
Convert mdsal-netconf-notification to OSGi DS |
Done |
5.0.2 |
||
Remove BaseCallHomeTopology |
Done |
5.0.3 |
||
Update websocket-change-event-notification-subscription-tutorial |
Done |
5.0.4 |
||
Update NETCONF testtool docs |
Done |
5.0.4 |
Known Issues¶
The following table lists the known issues that exist in this release.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
The required fields are created, but they are not populate in the Swagger API |
Resolved |
4.0.3, 5.0.0 |
4.0.9, 5.0.7, 6.0.0 |
||
OpenAPI: add possibility to configure base path |
Resolved |
5.0.2 |
5.0.7, 6.0.0 |
||
Incorrect processing of RESTCONF fields for duplicate node names on NETCONF device |
Resolved |
3.0.9, 4.0.5, 5.0.4 |
4.0.8, 5.0.7, 6.0.0 |
||
SSE with sub identifier does not work |
Resolved |
4.0.5, 5.0.4 |
5.0.8, 6.0.3, 7.0.0 |
||
Hard-coded /rests endpoint in stream locations |
In Progress |
5.0.0, 6.0.0 |
5.0.10, 6.0.7 |
||
Reconnection failure after deleting and re-adding call-home devices |
In Review |
2.0.17, 3.0.9, 4.0.5, 5.0.4 |
7.0.1, 8.0.0 |
||
Un-mounting a netconf device does not clean up MD-SAL DOM mountpoints |
Confirmed |
5.0.2, Aluminium SR1, Sodium SR3 |
5.0.10, 6.0.7, 7.0.1 |
Resolved Issues in SR1¶
The following table lists the issues resolved in Service Release 1.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
YangLib: reduntant ‘/’ for models without revision |
Done |
5.0.5 |
||
OpenAPI: Fix choice cases usage |
Done |
4.0.9, 5.0.5 |
||
Convert xml pretty print |
Done |
4.0.6, 5.0.5 |
||
OpenAPI: Add (plain) PATCH method |
Done |
5.0.5 |
||
Explore swagger authentication feature |
Done |
5.0.5 |
||
Use javax.ws.rs.core.MediaType |
Done |
5.0.5 |
||
Update NETCONF user guide |
Done |
4.0.6, 5.0.5 |
||
OpenAPI: Remove BaseYangSwaggerGenerator unused methods |
Done |
5.0.5 |
Known Issues in SR1¶
The following table lists the known issues that exist in Service Release 1.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
Notification eventInstant() not propagated to NotificationMessage |
Resolved |
1.7.4.3, 2.0.17, 3.0.9, 4.0.6, 5.0.6 |
4.0.7, 5.0.7, 6.0.0 |
||
Fail to process PATCH with target containing a single forward slash |
Resolved |
4.0.8, 5.0.6, 6.0.0 |
5.0.8, 6.0.2, 7.0.0 |
||
Unrecoverable NETCONF session negotiation failure |
Resolved |
4.0.8, 5.0.6 |
4.0.9, 5.0.9 |
Resolved Issues in SR2¶
The following table lists the issues resolved in Service Release 2.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
The required fields are created, but they are not populate in the Swagger API |
Done |
4.0.9, 5.0.7, 6.0.0 |
||
Notification eventInstant() not propagated to NotificationMessage |
Done |
4.0.7, 5.0.7, 6.0.0 |
||
NetconfNotification confuses its namespace |
Done |
4.0.7, 5.0.7, 6.0.0 |
||
OpenAPI: add possibility to configure base path |
Done |
5.0.7, 6.0.0 |
||
Cannot retrieve operation resource |
Done |
4.0.7, 5.0.7, 6.0.0 |
||
Discover mountpoint RPC operation through RESTCONF is failing with response 500 |
Done |
4.0.7, 5.0.7, 6.0.0 |
||
OpenAPI: Fix invalid swagger schema |
Done |
4.0.7, 5.0.7, 6.0.0 |
||
OpenApi: Missing required parameters in swagger schema |
Done |
4.0.7, 5.0.7, 6.0.0 |
||
Incorrect processing of RESTCONF fields for duplicate node names on NETCONF device |
Done |
4.0.8, 5.0.7, 6.0.0 |
||
OpenAPI: Fit “Select definition” content to width |
Done |
5.0.7, 6.0.0 |
||
Some BBF yang devices using actions have invalid swagger URLs generated. |
Done |
4.0.9, 5.0.7, 6.0.0 |
||
OpenApi: Wrong XML GET example |
Done |
4.0.9, 5.0.7, 6.0.0 |
||
Wrong Map Node type causes Yanglib data merge failure |
Done |
4.0.9, 5.0.7, 6.0.0 |
||
Eliminate TestData class |
Done |
4.0.9, 5.0.7, 6.0.1, 7.0.0 |
||
OpenApi: Test authentication feature |
Done |
5.0.7, 6.0.1, 7.0.0 |
||
OpenAPI: Eliminate “operational” concept |
Done |
4.0.9, 5.0.7, 6.0.0 |
||
Align netconf’s documentation version with distro |
Done |
4.0.7, 5.0.7, 6.0.0 |
Known Issues in SR2¶
The following table lists the known issues that exist in Service Release 2.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
RESTCONF DataTreeChange notifications use incorrect format |
Resolved |
2.0.17, 3.0.9, 4.0.8, 5.0.7, 6.0.2 |
7.0.0 |
||
netconf-client-mdsal emits useless namespace in filter |
Resolved |
3.0.9, 4.0.8, 5.0.7, 6.0.4 |
5.0.8, 6.0.5, 7.0.0 |
||
Incorrect response for failed PATCH request |
Resolved |
4.0.8, 5.0.7, 6.0.0 |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
NetconfDeviceMount “Already initialized” error |
Resolved |
4.0.8, 5.0.7, 6.0.4 |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
Slow NETCONF RPC response caused by unreachable devices |
Resolved |
4.0.8, 5.0.7, 6.0.4 |
5.0.10, 6.0.6 |
||
(devices) POST returns 500 on data already exists |
Resolved |
4.0.8, 5.0.7, 6.0.1 |
5.0.10, 6.0.6, 7.0.0 |
||
Incorrect operational state of device configuration with Invalid encrypted password |
Confirmed |
4.0.8, 5.0.7, 6.0.0 |
7.0.0 |
Resolved Issues in SR3¶
The following table lists the issues resolved in Service Release 3.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
OpenApi: Missing “all” content parameter value |
Done |
4.0.9, 5.0.8, 6.0.2, 7.0.0 |
||
OpenAPI: Do not hardcode action path |
Done |
4.0.9, 5.0.8, 6.0.2, 7.0.0 |
||
Swagger document for a specific module in a specific mounted device not showing the name of the device |
Done |
4.0.9, 5.0.8, 6.0.2, 7.0.0 |
||
OpenApi returns 400 error after PUT request on toaster data |
Done |
4.0.9, 5.0.8, 6.0.2, 7.0.0 |
||
Fail to process PATCH with target containing a single forward slash |
Done |
5.0.8, 6.0.2, 7.0.0 |
||
OpenApi: POST examples are incorrect |
Done |
4.0.9, 5.0.8, 6.0.2, 6.0.3, 7.0.0 |
||
Incorrect schema reference in root post link |
Done |
4.0.9, 5.0.8, 6.0.5, 7.0.0 |
||
OpenApi: XML payload for RPC is missing namespace |
Done |
4.0.9, 5.0.8, 6.0.5, 7.0.0 |
||
netconf-client-mdsal emits useless namespace in filter |
Done |
5.0.8, 6.0.5, 7.0.0 |
||
SSE with sub identifier does not work |
Done |
5.0.8, 6.0.3, 7.0.0 |
||
RestconfSchemaService return 500 if model was not found |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
||
Unrecoverable NETCONF session negotiation failure |
Done |
4.0.9, 5.0.9 |
||
Remove synchronization locking |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
||
Referencing nonexistent schemas on branches 4 and 5 |
Done |
4.0.9, 5.0.8 |
||
Eliminate use of restconf.common.Patch |
Done |
5.0.8, 6.0.2, 7.0.0 |
||
Upgrade SSHD to 2.11.0 |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
||
Throw exception when module cannot be found |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
||
Update NETCONF user guide for call-home |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
||
Replace whitelist with allowlist |
Done |
4.0.9, 5.0.9, 6.0.5, 7.0.0 |
Known Issues in SR3¶
The following table lists the known issues that exist in Service Release 3.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
Invalid NETCONF message triggers unnecessary parsing of partial message |
Resolved |
4.0.8, 5.0.9, 6.0.4 |
4.0.9, 5.0.10, 6.0.5, 7.0.0 |
||
Duplicate ‘ignore-missing-schema-sources’ in the NETCONF node |
Resolved |
5.0.9, 6.0.4 |
5.0.10, 6.0.6, 7.0.0 |
||
Device Remain Connected after it get stopped |
Confirmed |
5.0.9, 6.0.4 |
6.0.7, 7.0.1 |
||
Long delay in connection status update after connection issue |
Resolved |
3.0.9, 4.0.9, 5.0.9, 6.0.0, 6.0.5 |
5.0.10, 6.0.6, 7.0.0 |
||
RestconfSchemaService requires revision for all models |
Resolved |
5.0.9, 6.0.6 |
5.0.10, 6.0.7 |
||
OpenAPI: ignoring restconf settings |
In Progress |
5.0.9, 6.0.6 |
5.0.10, 6.0.7, 7.0.0 |
||
RESTCONF OPTIONS on /data does not produce Accept-Patch |
Confirmed |
4.0.9, 5.0.9, 6.0.5 |
7.0.1, 8.0.0 |
||
Blocking call during NetconfDeviceSchemas acquisition |
Resolved |
5.0.9, 6.0.6 |
7.0.0 |