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 8.0.0 through 8.0.2 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1390

Stream URLs constructed are incorrect for Netty endpoint

Done

8.0.2

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-1382

Encapsulate netconf-node state

Done

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-1369

MessageBodyWriter not found for YangErrorsBody

Done

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-1366

Netty SSE implementation is not consistent with JAXRS one

Done

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-1359

Insert of top-level node via restconf returns internal server error (500)

Done

8.0.1

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-1325

Intermittent failure to emit RESTCONF body

Done

7.0.7, 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-1235

NPE on topology PUT device without credentials

Done

8.0.0

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-821

Mounting a device does not work when multiple TLS Certificates are present

Done

8.0.0

Epic

NETCONF-773

Refactor restconf-nb wiring

Done

8.0.0

Improvement

NETCONF-1356

Do not restart YangLibraryWriterSingleton on URL provider change

Done

7.0.8, 8.0.0

Improvement

NETCONF-1346

OpenAPI: improve parameters validation

Done

8.0.1, 9.0.0

Improvement

NETCONF-1336

Clean UncancellableFuture class

Done

8.0.0

Improvement

NETCONF-1334

Update netconf-keystore model for unified storage of encoded keys and certificates

Done

8.0.0

Improvement

NETCONF-1331

Turn RestconfStrategy into interface

Done

8.0.0

Improvement

NETCONF-1329

Simplify ensureParentsByMerge

Done

8.0.0

Improvement

NETCONF-1320

OpenAPI: Improve control over width/depth from UI

Done

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-1312

Openapi: Add ability to limit string example length

Done

6.0.8, 7.0.7, 8.0.0

Improvement

NETCONF-1304

Unify certificates payload for keystore RPCs

Done

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-1223

Document RemoteDeviceCommunicator#sendRequest method

Done

8.0.0

Improvement

NETCONF-1213

Make connection timeout and keep-alive configurable for Call-Home services

Done

8.0.0

Improvement

NETCONF-1188

Refactor RESTCONF server error reporting

Done

8.0.0

Improvement

NETCONF-1015

Define a netconf-api capability model

Done

8.0.0

Improvement

NETCONF-596

No documentation of Netconf over TLS

Done

7.0.9, 8.0.0

New Feature

NETCONF-1339

Provide SSE support for HTTP transport

Done

8.0.0

New Feature

NETCONF-1298

OpenAPI: limit document size with depth/width parameters

Done

8.0.0

New Feature

NETCONF-873

Provide RESTCONF over a dedicated Netty-based endpoint

Done

8.0.1

Sub-task

NETCONF-1316

Support external Auth service integration for HTTP Transport

Done

8.0.0

Task

NETCONF-1388

Adapt user guide for netconf-node state encapsulation

Done

8.0.2

Task

NETCONF-1363

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.

Issues affecting versions 8.0.0 through 8.0.2 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1399

Encoded slash %2F in URI is not parsed properly by RESTCONF Netty endpoint

Resolved

8.0.1, 8.0.2

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-1394

WWW-Authenticate header is not returned with 401 Unauthorized response by Netty based HTTP server

Resolved

8.0.1

8.0.3

Bug

NETCONF-1377

transport-http leaks ByteBuf

Confirmed

8.0.1

8.0.3

Bug

NETCONF-1376

Testtool self-registration request rejected by Netty based RESTCONF server

Resolved

8.0.1

8.0.3

Bug

NETCONF-1357

CallHomeSshServerTest is unstable

Confirmed

8.0.0

8.0.3, 9.0.0

Bug

NETCONF-1343

OpenApi: Add response body example for ROOT operations GET

In Progress

7.0.10, 8.0.2

7.0.11, 8.0.3

Bug

NETCONF-1342

OpenApi: Add response body example for ROOT data GET

In Progress

7.0.10, 8.0.2

7.0.11, 8.0.3

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