Transport PCE

Overview

Transport PCE is an application running on top of the OpenDaylight controller. Its primary function is to control an optical transport infrastructure 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

TransportPCE Phosphorus release provides an improved End to End support of high rates services (100GE, OTU4 and 400GE over OTUC4). An experimental support of T-API is provided allowing service-create/delete from a T-API version 2.1.1 compliant NBI. A T-API network topology, with different levels of abstraction and service contexts are maintained in the MDSAL. Service state is managed, monitoring device port state changes. Associated notifications are handled through Kafka and DMaaP clients.

Changes planned in Phosphorus release stream

Impairment aware path calculation relying on GNPy for End to End high rate services (beyond 100G) will be introduced across the Phosphorus release train. As for OTN use cases, additional use cases with more complex network configurations will be managed: - 100GE service terminated on an OTN switch - use of a 100G OTN switch as intermediate otn switch (with low order or high order odu switching) along a 1GE or 10GE service - management of OTN services (100GE, ODU4) supported by several OTU4s. T-API models should evolve towards version 2.1.3. Finally, Phosphorus release stream will bring end to end management of services for intermediate higher rates, as 200GE or 300GE.

New Features

There are no new features.

Deprecated Features

There are no deprecated or removed features.

Resolved Issues

The following table lists the issues resolved in this release.

Issues resolved in versions Phosphorus through Phosphorus (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

TRNSPRTPCE-527

Podman support in functional tests

Done

Phosphorus

Bug

TRNSPRTPCE-497

Change absolute path of leafreaf in GNPy topology yang model

Done

Phosphorus

Bug

TRNSPRTPCE-487

Manage race condition when deleting interface

Done

Phosphorus

Bug

TRNSPRTPCE-480

OLM is using incorrect warm up time for Roadm

Done

Phosphorus

Bug

TRNSPRTPCE-455

NMC width for flex-grid

Done

Phosphorus

Bug

TRNSPRTPCE-453

Update supported-if-cap type for PceOpticalNode

Done

Phosphorus

Bug

TRNSPRTPCE-452

PCE wrongly picks fixed grid mode instead of flex grid

Done

Phosphorus

Bug

TRNSPRTPCE-429

Revision imported on tpce-common-service-types yang model

Done

Phosphorus

Bug

TRNSPRTPCE-172

Calculate spanloss crashes when OTS is not present

Done

Phosphorus, Silicon

Bug

TRNSPRTPCE-547

NetworkModelServiceImpl.deleteOpenRoadmnode() fails

Done

Phosphorus, Silicon

Bug

TRNSPRTPCE-558

Service re-creation failed due to missing NEPs

Done

Phosphorus

Bug

TRNSPRTPCE-559

NullPointerException when creating T-API node on supported CEP qual.

Done

Phosphorus

Bug

TRNSPRTPCE-557

Wrong translation of supported CEP qualifier

Done

Phosphorus

Bug

TRNSPRTPCE-564

T-API rpcs dont admit both UUID and Name

Done

Phosphorus

Bug

TRNSPRTPCE-511

Fix Javadoc of CrossConnect interface

Done

Phosphorus

Improvement

TRNSPRTPCE-534

Reintroduce Swagger in TransportPCE as a feature

Done

Phosphorus

Improvement

TRNSPRTPCE-496

OLM timers cannot be configured

Done

Phosphorus

Improvement

TRNSPRTPCE-492

Manage otn-topology update with OTN links at 400G

Done

Phosphorus

Improvement

TRNSPRTPCE-490

Adapt Transportpce yang models to being more explicit

Done

Phosphorus

Improvement

TRNSPRTPCE-489

Refactor the way to select renderer

Done

Phosphorus

Improvement

TRNSPRTPCE-488

Move serviceType affectation to common

Done

Phosphorus

Improvement

TRNSPRTPCE-485

spectrum assignment management in PCE

Done

Phosphorus

New Feature

TRNSPRTPCE-491

Move otn link update from renderer to SH

Done

Phosphorus

New Feature

TRNSPRTPCE-446

Notification support for 7.1 Devices

Done

Phosphorus

Story

TRNSPRTPCE-508

100GE o 400G Func test

Done

Phosphorus

Story

TRNSPRTPCE-507

100GE over 400G muxponder service creation

Done

Phosphorus

Story

TRNSPRTPCE-506

Test suite for E2E service 400GE service creation/deletion

Done

Phosphorus

Story

TRNSPRTPCE-505

E2E 400GE service creation/deletion

Done

Phosphorus

Story

TRNSPRTPCE-471

Service operational state changed notification

Done

Phosphorus

Story

TRNSPRTPCE-447

Update service-create and service-delete notifications

Done

Phosphorus

Story

TRNSPRTPCE-450

Functional test for device Renderer 7.1

Won’t Do

Phosphorus

Story

TRNSPRTPCE-537

Make hash computation method used for sapi/dapi public

Done

Phosphorus

Story

TRNSPRTPCE-548

T-API Topology update

Done

Phosphorus

Story

TRNSPRTPCE-550

SIP UUID generation

Duplicate

Phosphorus

Story

TRNSPRTPCE-512

Adapt network module to update OTU links only

Done

Phosphorus

Sub-task

TRNSPRTPCE-448

Functionnal test of Portmapping/Topo/service state update

Duplicate

Phosphorus

Sub-task

TRNSPRTPCE-438

upgrade honeynode simulator for device 1.2.1 and 7.1

Done

Phosphorus, Silicon

Sub-task

TRNSPRTPCE-437

Adapt existing honeynode xml files for device 7.1

Done

Phosphorus

Sub-task

TRNSPRTPCE-430

Refactor node listeners (un)registration

Done

Phosphorus, Silicon

Sub-task

TRNSPRTPCE-423

Adapt PortMapping to be able to update a given mapping

Done

Phosphorus

Sub-task

TRNSPRTPCE-422

Handle device notification reception

Done

Phosphorus, Silicon

Sub-task

TRNSPRTPCE-421

Refacto network topologies listener in service handler

Done

Phosphorus

Sub-task

TRNSPRTPCE-420

update openroadm-topoloy and otn-topology with new termination point admin state

Done

Phosphorus

Sub-task

TRNSPRTPCE-419

Refacto portmapping yang model

Done

Phosphorus

Sub-task

TRNSPRTPCE-426

TAPI Network utils

Done

Phosphorus

Sub-task

TRNSPRTPCE-425

Initial mapping OR-TAPI services

Done

Phosphorus

Sub-task

TRNSPRTPCE-424

TAPI context initialization

Done

Phosphorus

Sub-task

TRNSPRTPCE-432

TAPI common service Implementation

Done

Phosphorus

Sub-task

TRNSPRTPCE-386

TAPI service handler

Done

Phosphorus

Sub-task

TRNSPRTPCE-384

Initial mapping OR-TAPI topology

Done

Phosphorus

Known Issues

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