Transport PCE

Overview

Transport PCE is an OpenDaylight controller feature whose primary function is to control high rate transport services. To that end, it controls the infrastructure of an optical transport network using a non-proprietary South Bound Interface (SBI).

The controlled transport infrastructure includes a WDM (Wave Division Multiplexing) layer and an OTN (optical transport network) layer. The WDM layer is built from ROADMs (reconfigurable optical add-drop multiplexer) with colorless, directionless and contention-less features. The OTN layer is built from transponders, muxponders or switchponders which include OTN switching functionalities.

Transport PCE leverages OpenROADM Multi-Source-Agreement (MSA), which defines interoperability specifications, consisting of both optical interoperability and YANG data models.

The TransportPCE implementation includes:

Transport PCE implementation

Feature

Description

Northbound API

These APIs are for higher level applications, implemented in the Service Handler bundle. It relies on the service model defined in the MSA. A minimal experimental support of TAPI topology is also proposed but is not installed by default.

Renderer and OLM

The renderer and OLM (Optical Line Management) bundles allow configuring OpenROADM devices through a southbound NETCONF/YANG interface (based on the MSA device models). This release supports the OpenROADM devices version 1.2.1 version 2.2.1.

Topology Management

This feature is based on the defined MSA network model.

Path Calculation Engine (PCE)

PCE here has a different meaning than the BGPCEP project since it is not based on (G)MPLS. This bundle allows to compute path across the topology to create services. Impairment aware path computation can be delegated to a GNPy server (hardcoded server address configuration and limited support at that time)

Inventory

This feature is not installed by default. It proposes an experimental support for an external inventory DB currently limited to 1.2.1 OpenROADM devices.

The internal RPCs between those modules are defined in the Transport Service Path models.

Behavior/Feature Changes

2024.03 Calcium release follows an important refactoring work that has improved the maintainability of many code pieces and should help future developments (rpc and listener registrations, code optimizations…)

New Features

From a business point of view, Calcium brings the following new functionalities: - migration of all the TransportPCE T-API implementation based on T-API models version 2.1.1 to T-API models in version 2.4 - management of the spectrum filling rules defined in the controller-customization module. That functionality may be used by the user to set manually a specific wavelength range when we create an optical transport service. - finalization of the migration of all transportpce functional tests towards the new netconf device simulator based on lightynode. Lightynode is a netconf device emulator running currently configuration compatible with OpenROADM device models in versions 1.2.1, 2.2.1 or 7.1.0. The emulator is based on the lighty-netconf-simulator project proposed by lighty.io (see https://github.com/PANTHEONtech/lighty-netconf-simulator). - compilation of new official yang models available for future implementations in transportpce. Especially:

  • set of openconfig models in version pre-release 1

  • openroadm-device models in version 13.1.0

Changes planned in Potassium release stream

Throughout the calcium release train, new developments will enrich these new features. Developments on T-API will continue. Currently the business logic of all TransportPCE modules (service orchestration, topologies, pce, device rendering) is based on OpenROADM models. In the short term, topologies could be managed independently according to OpenROADM or T-API models. And should also follow the Path Computation module next.

Deprecated Features

In 2024.03 Calcium release, T-API yang modules in version 2.1.1 are no longer used (implementation relies on models in version 2.4) but still present in transportpce-models repository. They will be removed in next 2024.09 Scandium release.

Resolved Issues

The following table lists the issues resolved in this release.

Issues resolved in versions Calcium through Calcium (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

TRNSPRTPCE-772

Creating service AtoZ may result in conflicting frequency being used while ZtoA might not

Done

Calcium

Bug

TRNSPRTPCE-769

PCE may select the wrong path instead of selecting the one selected by GNPy

Done

Calcium, PotassiumSR1

Bug

TRNSPRTPCE-768

PCE picks the wrong client ports

Done

ArgonSR3, Calcium, PotassiumSR1

Bug

TRNSPRTPCE-766

Creation of an OC service at 200Gbps fails

Done

ArgonSR3, Calcium, PotassiumSR1

Bug

TRNSPRTPCE-763

Do not return null for registered RPCs

Done

Calcium, PotassiumSR1

Bug

TRNSPRTPCE-754

Use Lightynode simulator for functional tests

Done

Calcium, Potassium

Bug

TRNSPRTPCE-790

Fix bugs in TransportPCE odl-transportpce-nbinotifications feature

Done

Calcium

Bug

TRNSPRTPCE-615

Renderer rollback does not work

Done

Calcium, Phosphorus

Bug

TRNSPRTPCE-786

OLM rollback fails due to null pointer exception

Done

Calcium

Bug

TRNSPRTPCE-785

Spanloss = 0 dB should be allowed

Done

Calcium

Bug

TRNSPRTPCE-784

False log warning message when service creation fails

Done

Calcium

Improvement

TRNSPRTPCE-770

Bump the jgrapht upstream dependency to the latest one

Done

Calcium, PotassiumSR1

Improvement

TRNSPRTPCE-767

Optimize functional test execution

Done

ArgonSR3, Calcium, PotassiumSR1

Improvement

TRNSPRTPCE-761

Terminate OLM module Junit refactoring

Done

ArgonSR3, Calcium

Improvement

TRNSPRTPCE-706

Persistence when karaf is restarted

Done

Calcium

Improvement

TRNSPRTPCE-779

Remove odl-transportpce-swagger feature

Done

Calcium

Improvement

TRNSPRTPCE-788

Change RPC implementation registration

Done

Calcium

Improvement

TRNSPRTPCE-780

Add new OpenROADM device models in transportpce/models repositorty

Done

Calcium

Improvement

TRNSPRTPCE-787

Complement sims configuration files

Done

Calcium

Improvement

TRNSPRTPCE-782

Migrate master branch to Ca

Done

Calcium

Improvement

TRNSPRTPCE-789

Update TransportPCE dependency versions

Done

Calcium

Improvement

TRNSPRTPCE-764

Refactor some TransportPCE code

Done

ArgonSR3, Calcium

Story

TRNSPRTPCE-735

Migrate T-API Topology Management to T-API 2.4

Done

Calcium

Story

TRNSPRTPCE-734

Migrate T-API NBI to T-API 2.4

Done

Calcium

Story

TRNSPRTPCE-774

Create an OpenConfig configuration File

Done

Calcium

Story

TRNSPRTPCE-758

Refactor TAPI topology/Connectivity handling (redundancy)

Done

Calcium

Story

TRNSPRTPCE-775

Add openconfig models in transportpce-models repo

Done

Calcium, PotassiumSR2

Story

TRNSPRTPCE-783

Handle specific wavelength constraint in service create

Done

Calcium

Story

TRNSPRTPCE-707

Operational Mode in Portmapping

Done

Calcium

Task

TRNSPRTPCE-752

Do not use RpcService in TRANSPORTPCE components

Done

Calcium

Known Issues

The following table lists the known issues that exist in this release.

Also, swagger does not work for TransportPCE with controller resources (see https://jira.opendaylight.org/browse/NETCONF-1279)