Jump to: navigation, search

OpenDaylight Controller:Lithium:Netconf:Integration Test

NETCONF MD-SAL

Code Name

odl-netconf-mdsal

Description

Netconf northbound interface tied to MD-SAL (Very similar to restconf). Allows for remote access to MD-SAL's datastore, rpcs and notifications using NETCONF protocol.

  • Overview & Design Architecture:

Overview & Design

  • Configuration:

Configuration By default the feature will open a Netconf server port on port 2830.

Bundles

  • org.opendaylight.controller/netconf-ssh
  • org.opendaylight.controller/mdsal-netconf-connector
  • org.opendaylight.controller/mdsal-netconf-monitoring
  • org.opendaylight.controller/netconf-config-dispatcher

Upstream Dependencies

  • odl-config-all
  • odl-netconf-all
  • odl-mdsal-broker

Downstream Dependencies

No downstream dependencies so far.

Incompatibilities

No incompatibilities detected so far.

Network Intrusiveness

None.

Recommended Karaf features

Recommended features for karaf testing:

  • odl-netconf-connector-all
  • odl-restconf-all

How to test

This feature deploys a netconf interface on top of the MD-SAL. The tests have to include:

  • Successful connection over SSH using any SSH capable client(or possibly netconf cli)
  • Successful CRUD operations for a chosen model using any SSH capable client(or possibly netconf cli) with verification using Restconf
  • Successful RPC invocation for a chosen rpc using any SSH capable client (or possibly netconf cli)
  • Successful notification subscription using any SSH capable client(or possibly netconf cli)
  • Verification of ietf-netconf-state data presence from both netconf and restconf interface
  • Verification of ietf-netconf-notifications/streams presence data from both netconf and restconf interface
  • Successful loopback connection to mdsal's netconf interface using sal-netconf-connector with verification of CRUD and RPCs over Restconf


With the test cases above, we will confirm that the netconf interface conforms to the Netconf RFC and that it also conforms to sal-netconf-connector.

Performance/Scalability Concerns

Since the feature is brand new, its performance(how many and how fast are the request processed) might be lower than expected.

NETCONF Connector

Code Name

odl-netconf-connector-all

Description

Netconf southbound connector plugged into MD-SAL. Allows for remote management and monitoring of netconf devices using MD-SAL apis and Restconf.

  • Overview & Design Architecture:

Overview & Design

  • Configuration:

Configuration
Testtool

Bundles

Upstream Dependencies

Downstream Dependencies

No downstream dependencies so far.

Incompatibilities

No incompatibilities detected so far.

Network Intrusiveness

None without explicit configuration.

Recommended Karaf features

Recommended features for karaf testing:

  • odl-restconf-all

How to test

This feature deploys a netconf interface on top of the MD-SAL. The tests have to include:

  • Successful connection to remote netconf devices
  • Successful CRUD and RPCs towards mounted device for a chosed device specific model using the loopback controller-config mountpoint (also loopback for md-sal's netconf) or netconf-testtool or any other available netconf devices e.g. Mininet
  • Successful Reconnect when remote device closes connection unexpectedly
  • Verification of state data present in MD-SAL for mounted devices
  • Successful detection and handling of capability-changed notification coming from remote device(the controller-config loopback mount supports these notification so it is sufficient only to install any ODL feature after the loopback connection was spawned).
  • Performance tests over Restconf(testing the entire pipeline in ODL) using netconf-testtool
  • Scale tests over Restconf(used just for verification and time measuring) using netconf-testtool


With the test cases above, we will confirm that the netconf connector conforms as a client to the Netconf RFC. The CRUD and RPC tests aimed at the loopback netconf tied to config subsystem will test also the netconf northbound server.

Performance/Scalability Concerns

The scale testing should aim at 10k devices spawned by the netconf-testtool. For this, both the testtool and the ODL should run with 8G of RAM on machines that allow for 10k connections between them.