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

Type

Key

Summary

Resolution

Fix Version(s)

Bug

TRNSPRTPCE-879

Catch java.net.ConnectionException when GNPy server is not available

Done

Titanium

Bug

TRNSPRTPCE-855

OpenConfig PortMapping

Done

Titanium

Bug

TRNSPRTPCE-854

Reduce technical debt

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-851

Refactor common code

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-850

Correct Bugs associated with Tapi Topology creation and update

Done

Titanium

Bug

TRNSPRTPCE-848

Refactor Convertxxxx classes dedicated to OR to Tapi Topology conversion

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-847

Refactor converters of test-common

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-845

Populate OR Topo from OC portmapping

Done

Titanium

Bug

TRNSPRTPCE-843

Fix maven dependency warnings

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-842

Migrate InstanceIdentifier in TransportPCE

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-841

Fix javadoc warnings

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-840

Remove dead code

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-839

OC PortMapping

Done

Titanium

Bug

TRNSPRTPCE-836

End nodes without available TPs should be ignored by PCE

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-835

Path computation fails if anyRG has no available PPs

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-831

Service feasibility check not reset to false

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-824

Handle RPCs introduced while extending Topo scope

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-823

Adjust networkutils yang file to address topo extensions

Done

ScandiumSR2, Titanium

Bug

TRNSPRTPCE-822

Augment OR Topology with OC and TAPI extensions

Done

ScandiumSR2, Titanium

Improvement

TRNSPRTPCE-853

Spectrum assignment only treats OpenROADM v 1.2.1 as fixed grid

Done

Titanium

Improvement

TRNSPRTPCE-852

Allow error messages to reach the client when service create fails

Done

ScandiumSR2, Titanium

Improvement

TRNSPRTPCE-849

Implement slot and center frequency granularity mc capabilities

Done

Titanium

New Feature

TRNSPRTPCE-833

Allow client to influence spectrum assigned in service-create

Done

ScandiumSR2, Titanium

Story

TRNSPRTPCE-859

Develop OpenConfig Renderer

Done

Titanium

Story

TRNSPRTPCE-830

Create Topo Context at init for TAPI Alien and SBI topologies

Done

ScandiumSR2, Titanium

Story

TRNSPRTPCE-829

Create Topo Context at Init for ALIEN and SBI

Duplicate

Titanium

Story

TRNSPRTPCE-828

Func tests for Topo extension

Done

ScandiumSR2, Titanium

Story

TRNSPRTPCE-827

Add Tapi-Ext Node to OR Topo at Init

Done

ScandiumSR2, Titanium

Story

TRNSPRTPCE-781

Populate Operational Mode to Portmapping

Done

Titanium

Story

TRNSPRTPCE-714

Load OM catalog at initialization

Done

ScandiumSR2, Titanium

Task

TRNSPRTPCE-806

Migrate to Apache Pekko

Done

Titanium

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)