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.

Issues resolved in versions 7.0.0 through 7.0.4 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1281

OpenAPI: invalid explorer redirection URL

Done

5.0.10, 6.0.8, 7.0.4

Bug

NETCONF-1280

org.opendaylight.netconf.topology-singleton fails to resolve

Done

6.0.8, 7.0.4

Bug

NETCONF-1277

ietf-yang-library:modules-state not available

Done

7.0.3

Bug

NETCONF-1269

OpenAPI: Missing action input and output

Done

7.0.4

Bug

NETCONF-1266

Cannot instantiate on RpcEffectiveStatementImpl…

Done

7.0.1

Bug

NETCONF-1265

Cannot deserialize key value

Done

7.0.4

Bug

NETCONF-1264

Cannot create new list resource with instance identifier key

Done

7.0.4

Bug

NETCONF-1259

OpenAPI: Wrong path reference for netopeer2 models

Done

7.0.2

Bug

NETCONF-1254

OpenAPI: netopeer2 duplicated mapping key

Done

7.0.2

Bug

NETCONF-1252

Device’s reconnecting does not work

Done

7.0.0

Bug

NETCONF-1251

The number of connection attemps is ignored

Done

7.0.0

Bug

NETCONF-1250

Missing device’s connection status

Done

7.0.2

Bug

NETCONF-1249

Callhome Device Remains ‘DISCONNECTED’ After Adding to Allowed Devices

Done

7.0.2

Bug

NETCONF-1245

Full list delete fails when called on remote device via restconf

Done

7.0.4

Bug

NETCONF-1242

OpenAPI: Iterate over models in SchemasStream

Done

7.0.0

Bug

NETCONF-1241

OpenAPI: Iterate over models in PathsStream

Done

7.0.0

Bug

NETCONF-1236

No implementation of subscribe-device-notification available

Done

7.0.2

Bug

NETCONF-1233

Blocking call during NetconfDeviceSchemas acquisition

Done

7.0.0

Bug

NETCONF-1230

OpenAPI: ignoring restconf settings

Done

5.0.10, 6.0.7, 7.0.2

Bug

NETCONF-1224

NetconfDeviceNotificationService.registerNotificationListeners() is not implemented

Done

5.0.10, 6.0.6, 7.0.0

Bug

NETCONF-1222

Improve error path for list items

Done

7.0.0

Bug

NETCONF-1217

Given final block not properly padded. Such issues can arise if a bad key is used during decryption

Won’t Do

7.0.0

Bug

NETCONF-1216

Input length must be multiple of 16 when decrypting with padded cipher

Won’t Do

7.0.0

Bug

NETCONF-1204

NPE on topology create-device without credentials

Done

5.0.10, 6.0.6, 7.0.0

Bug

NETCONF-1203

Update user-guide for for login-password removal

Done

7.0.0

Bug

NETCONF-1200

Netconf device stays connected even when unavailable

Done

7.0.0

Bug

NETCONF-1198

Adapt netconf testtool for login-password removal

Done

7.0.0

Bug

NETCONF-1194

Invalid NETCONF message triggers unnecessary parsing of partial message

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1192

Duplicate ‘ignore-missing-schema-sources’ in the NETCONF node

Done

5.0.10, 6.0.6, 7.0.0

Bug

NETCONF-1180

PUT request with insert=after cannot add last item into list

Done

5.0.10, 6.0.7, 7.0.2

Bug

NETCONF-1179

OpenApi Remove processModule method from DefinitionGenerator

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1178

POST request with insert parameter fails if target URI points the list

Done

5.0.10, 6.0.8, 7.0.4

Bug

NETCONF-1173

NetconfDeviceMount “Already initialized” error

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1172

OpenApi ignore min-elements conditions for list

Done

7.0.0

Bug

NETCONF-1171

OpenAPI Generates Incorrect ‘min-elements’ for XML Leaf-List

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1170

netconf-client-mdsal emits useless namespace in filter

Done

5.0.8, 6.0.5, 7.0.0

Bug

NETCONF-1168

OpenApi List show only string type for path parameters

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1165

OpenAPI generate multiple resources/subresources in POST request

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1164

OpenAPI POST request generates incorrect XML example payload

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1163

Create tests for POST “insert” query parameter

Done

7.0.0

Bug

NETCONF-1159

RestconfSchemaService return 500 if model was not found

Done

4.0.9, 5.0.9, 6.0.5, 7.0.0

Bug

NETCONF-1153

Unnecessary data change events for child-nodes-only

Done

6.0.4, 7.0.0

Bug

NETCONF-1152

RESTCONF DataTreeChange notifications use incorrect format

Done

7.0.0

Bug

NETCONF-1151

Incorrect subscription request URL

Done

6.0.3, 7.0.0

Bug

NETCONF-1139

OpenApi: XML payload for RPC is missing namespace

Done

4.0.9, 5.0.8, 6.0.5, 7.0.0

Bug

NETCONF-1133

Incorrect schema reference in root post link

Done

4.0.9, 5.0.8, 6.0.5, 7.0.0

Bug

NETCONF-1130

(devices) POST returns 500 on data already exists

Done

5.0.10, 6.0.6, 7.0.0

Bug

NETCONF-1127

netconf-testtool not building when GID too big

Done

7.0.0

Bug

NETCONF-1103

Incorrect response for failed PATCH request

Done

4.0.9, 5.0.10, 6.0.5, 7.0.0

Bug

NETCONF-1101

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.

Issues affecting versions 7.0.0 through 7.0.4 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1420

JSON RPC is broken in Calcium SR2

Resolved

7.0.0, 7.0.10

7.0.11

Bug

NETCONF-1406

Intermittent failures of SseClientServerTest

Resolved

7.0.4, 8.0.0

7.0.11, 8.0.3

Bug

NETCONF-1405

IllegalStateException: Attempted to access unknown service ClientUserAuthService

Resolved

7.0.4, 8.0.2

6.0.9, 7.0.11, 8.0.3

Bug

NETCONF-1389

OpenAPI: Fails to generate example for List with min-elements and leafref type child

Resolved

7.0.1, 7.0.10, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.8, 7.0.9, 8.0.0, 8.0.1, 8.0.2

7.0.10, 8.0.2

Bug

NETCONF-1354

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

Bug

NETCONF-1348

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

Bug

NETCONF-1338

OpenApi: missing parameters for ROOT data GET

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.11, 8.0.3

Bug

NETCONF-1314

The tapi-topology’s RPCs outputs are missing

Resolved

7.0.4

7.0.5

Bug

NETCONF-1309

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

Bug

NETCONF-1303

OpenAPI: Generate document for module without revision

Resolved

7.0.1, 7.0.2, 7.0.3, 7.0.4

7.0.5

Bug

NETCONF-1299

Test Tool Fails Intermittently to Send Required Netconf Replies

Resolved

7.0.0

7.0.5

Bug

NETCONF-1295

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

Bug

NETCONF-1285

NPE on GET rests/operations

Resolved

7.0.3, 7.0.4

7.0.5

Bug

NETCONF-1279

openapi / swagger does not work for TransportPCE with controller resources

Resolved

7.0.3

7.0.5

Bug

NETCONF-1273

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

Bug

NETCONF-1270

OpenAPI: not used “duplicated” schema

Resolved

7.0.3

7.0.5

Bug

NETCONF-1263

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

Bug

NETCONF-1261

Initial device connection fails due to unstable network conditions on device

Resolved

7.0.0

7.0.5

Resolved Issues in SR1

The following table lists the issues resolved in Service Release 1.

Issues resolved in versions 7.0.5 through 7.0.7 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1325

Intermittent failure to emit RESTCONF body

Done

7.0.7, 8.0.0

Bug

NETCONF-1314

The tapi-topology’s RPCs outputs are missing

Duplicate

7.0.5

Bug

NETCONF-1303

OpenAPI: Generate document for module without revision

Done

7.0.5

Bug

NETCONF-1299

Test Tool Fails Intermittently to Send Required Netconf Replies

Done

7.0.5

Bug

NETCONF-1296

MessageBodyWriter not found for OperationOutputBody

Done

7.0.5

Bug

NETCONF-1294

MessageBodyWriter not found when using JaxRsFormattableBody

Done

7.0.5

Bug

NETCONF-1285

NPE on GET rests/operations

Done

7.0.5

Bug

NETCONF-1279

openapi / swagger does not work for TransportPCE with controller resources

Done

7.0.5

Bug

NETCONF-1274

Redundant “/” sign in AbstractRestconfStreamRegistry#baseStreamLocation

Done

7.0.5

Bug

NETCONF-1273

Error 500 on Notification Stream Access for Netconf Device Subscriptions

Done

7.0.5

Bug

NETCONF-1270

OpenAPI: not used “duplicated” schema

Done

7.0.5

Bug

NETCONF-1268

500 server error when trying to spawn new netconf connector

Done

7.0.5

Bug

NETCONF-1263

Capabilities created for yang models without revision are unavailable

Done

7.0.5

Bug

NETCONF-1261

Initial device connection fails due to unstable network conditions on device

Done

7.0.5

Bug

NETCONF-1214

Problems with GET/POST/DELETE of list elements with key of type instance-identifier

Done

7.0.5

Bug

NETCONF-1114

Incorrect operational state of device configuration with Invalid encrypted password

Done

6.0.7, 7.0.5

Improvement

NETCONF-1313

OpenApi: Refactor inconsistent naming of modelContext

Done

7.0.5

Improvement

NETCONF-1312

Openapi: Add ability to limit string example length

Done

6.0.8, 7.0.7, 8.0.0

Improvement

NETCONF-1288

Clean up restconf.server.api path handling

Done

7.0.5

New Feature

NETCONF-1290

Allow configuring odl-pretty-print to default to true

Done

7.0.5

Task

NETCONF-1315

OpenAPI: Update module revision docs

Done

7.0.7

Task

NETCONF-1287

Document get module source

Done

7.0.5

Task

NETCONF-1282

Migrate netconf-topology tests to JUnit 5

Done

7.0.5

Task

NETCONF-1272

Update notification subscription user guide

Done

7.0.5

Known Issues in SR1

The following table lists the known issues that exist in Service Release 1.

Issues affecting versions 7.0.5 through 7.0.7 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1389

OpenAPI: Fails to generate example for List with min-elements and leafref type child

Resolved

7.0.1, 7.0.10, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.8, 7.0.9, 8.0.0, 8.0.1, 8.0.2

7.0.10, 8.0.2

Bug

NETCONF-1386

Parser error in the TransportPCE openapi documentation (swagger)

Resolved

7.0.7, 7.0.9, 8.0.1

7.0.10, 8.0.2

Bug

NETCONF-1368

MessageBodyWriter is not found for YANG Patch reply causing HTTP 500 Error

Resolved

7.0.7, 8.0.0

7.0.8, 8.0.1

Bug

NETCONF-1348

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

Bug

NETCONF-1338

OpenApi: missing parameters for ROOT data GET

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.11, 8.0.3

Bug

NETCONF-1332

NetconfDeviceCommunicator does not release semaphore after disconnection

Resolved

4.0.9, 5.0.10, 6.0.8, 7.0.7

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1318

Accumulating KeepaliveTask executions

Resolved

5.0.9, 6.0.8, 7.0.6, 8.0.0

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1309

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

Bug

NETCONF-1308

Accumulating “Keepalive RPC failed with error”

Resolved

5.0.9, 6.0.8, 7.0.5, 8.0.0

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1297

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

Resolved Issues in SR2

The following table lists the issues resolved in Service Release 2.

Issues resolved in versions 7.0.8 through 7.0.10 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1389

OpenAPI: Fails to generate example for List with min-elements and leafref type child

Done

7.0.10, 8.0.2

Bug

NETCONF-1386

Parser error in the TransportPCE openapi documentation (swagger)

Done

7.0.10, 8.0.2

Bug

NETCONF-1380

RESTCONF server does not adverize “defaults” capability

Done

6.0.9, 7.0.10, 8.0.2

Bug

NETCONF-1375

Notifications not available with ODL-based NETCONF server

Done

7.0.9, 8.0.1

Bug

NETCONF-1374

NETCONF server does not advertise :interleave capability

Done

6.0.9, 7.0.9, 8.0.1

Bug

NETCONF-1368

MessageBodyWriter is not found for YANG Patch reply causing HTTP 500 Error

Done

7.0.8, 8.0.1

Bug

NETCONF-1365

RESTCONF server does not list :yang-patch capability

Done

6.0.9, 7.0.10, 8.0.2

Bug

NETCONF-1358

restconf-server-jaxrs endpoint returns 500 error for host-meta requests

Done

6.0.9, 7.0.8, 8.0.1

Bug

NETCONF-1354

Missing default restconf NB config file

Done

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1348

Random failures of transport-ssh tests

Done

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1332

NetconfDeviceCommunicator does not release semaphore after disconnection

Done

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1318

Accumulating KeepaliveTask executions

Done

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1309

Openapi: Missing schema for node processed by another parent

Done

7.0.8, 8.0.0

Bug

NETCONF-1308

Accumulating “Keepalive RPC failed with error”

Done

6.0.9, 7.0.8, 8.0.0

Bug

NETCONF-1295

sal-remote create-notification-stream is not working

Done

7.0.10, 8.0.2

Bug

NETCONF-1210

RESTCONF OPTIONS on /data does not produce Accept-Patch

Done

7.0.10, 8.0.2

Bug

NETCONF-1169

OpenApi missing POST request to device root

Done

7.0.8, 8.0.0

Bug

NETCONF-91

ODL assumes netconf interleave capability

Done

7.0.8

Improvement

NETCONF-1356

Do not restart YangLibraryWriterSingleton on URL provider change

Done

7.0.8, 8.0.0

Improvement

NETCONF-1319

OpenAPI: Improve anydata example

Done

7.0.8, 8.0.0

Improvement

NETCONF-1317

Remove device from operational topology on failure

Done

6.0.9, 7.0.8, 8.0.0

Improvement

NETCONF-1276

Eliminate ensureParentsByMerge logic for NETCONF devices

Done

7.0.8, 8.0.0

Improvement

NETCONF-1247

OpenAPI: Create SchemasEntity class to simplify SchemasStream

Done

7.0.8, 8.0.0

Improvement

NETCONF-596

No documentation of Netconf over TLS

Done

7.0.9, 8.0.0

Known Issues in SR2

The following table lists the known issues that exist in Service Release 2.

Issues affecting versions 7.0.8 through 7.0.10 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1425

Device attempts to reconnect even if client config throws exception

Resolved

7.0.10, 8.0.3

7.0.11, 8.0.4, 9.0.0

Bug

NETCONF-1423

Netconf does not attempt reconnection if initial session is closed

In Progress

7.0.10, 8.0.3

7.0.12, 8.0.4, 9.0.0

Bug

NETCONF-1420

JSON RPC is broken in Calcium SR2

Resolved

7.0.0, 7.0.10

7.0.11

Bug

NETCONF-1418

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

Bug

NETCONF-1415

Thread starvation when SSH KEX is ongoing

Resolved

7.0.10, 8.0.2

7.0.11, 8.0.3

Bug

NETCONF-1414

netconf-testtool seems to misconfigure the datastore

Confirmed

6.0.8, 7.0.10, 8.0.2

8.0.4

Bug

NETCONF-1411

RESTCONF 500 Error Not Properly Formatted

Resolved

7.0.10, 8.0.2

7.0.11, 8.0.3

Bug

NETCONF-1410

netconf-testtool logs WARN for status code 201

Resolved

7.0.10, 8.0.2

6.0.9, 7.0.11, 8.0.3

Bug

NETCONF-1408

Long-term unreachable device may decrease reconnection time to nearly zero

Resolved

7.0.10, 8.0.2

7.0.11, 8.0.3

Bug

NETCONF-1407

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

Bug

NETCONF-1398

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

Bug

NETCONF-1396

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

Bug

NETCONF-1395

OpenAPI: Actions displayed under rests/operations

Resolved

7.0.10, 8.0.2

7.0.11, 8.0.3

Bug

NETCONF-1361

OpenApi: Avoid leaf names duplication

Resolved

7.0.10, 8.0.3

7.0.11, 8.0.3

Bug

NETCONF-1343

OpenApi: Add response body example for ROOT operations GET

Resolved

7.0.10, 8.0.2

7.0.11, 8.0.3

Bug

NETCONF-1342

OpenApi: Add response body example for ROOT data GET

Resolved

7.0.10, 8.0.2

7.0.11, 8.0.3