SDN-R Online help

Below are the references for SDN-R User Documentation

SDN controller for ‘Radio’ (SDN-R)

SDN-R adds features and functionality to the OpenDaylight-based ONAP controller ‘SDN-C’. It is built on the Common Controller Framework to control and manage wireless resources. Wireless resources are virtual network functions (e.g. vBBU, vEPC) or physical network functions (e.g. microwave and millimeter wave radios, eNodeB, RRH, DAS equipment).

SDN-R is integrated into ONAP. Therefore it is interfacing with PNFs and VNFs and with other ONAP components, such as A&AI, DCAE and SO.
SDN-R in ONAP

SDN-R in ONAP

General functionality

The following functionality is common to all applications.

Table data export

Every table can export its data via the ‘︙’ button. The data, which gets exported is the currently viewed data in the table. As the default pagination is set to 10, only the first 10 rows or filtered rows will be exported. To increase the number of exported rows, change the pagination.

The behavior of the export can vary based on the browser:

  1. Some browsers allow you to save the file with the predefined name export.csv. In case your browser does not offer this function please use the ‘Save as…’ option and define the filename with extension csv.

  2. Some browsers save the file automatically with the alphanumeric name but without an extension. In such a case navigate to the downloaded file location and rename the file. The extension (csv) must be appended to the name. The result should look like ‘export_file.csv’.

Table filters

The following filters are supported by all tables based on the data type of the column.

Data type

Possible Filter

Example

Text

Any characters or numbers, matches exactly unless a * or a ? are used. Both special characters act as wildcards, which can be used for contains, ends with and begins with queries. The * matches any number of characters whereas the ? matches exactly one character. Both wildcards can be used in the same query.

Test, T,st, Te?t, ?est

Numeric

< or <= or > or >= or exact number

>5000, 20, <=82

Boolean

None (no filter set), true or false

true, false

Applications

Below are the UX Applications.

Connect

The ‘Connect’ application on OpenDaylight provides up-to-date connectivity information about the wireless devices in the network. It automatically displays new Network Elements and their connection status. Usually, the Network Elements mount themselves. If necessary, they can be mounted manually by right-clicking on the element and selecting the ‘mount’ action. For better understanding of alarms and status, a connection status log lists all the connection status changes of OpenDaylight mount points.

Views

The graphical user interface is divided into two sections.

Network Elements

Network Elements are physical network functions (PNFs). A table view shows all configured and connected NetConf Servers of the SDN-R cluster. This view also allows to manually configure/mount a device via the ‘+’ button. The SDN controller will start connecting to the NetConf server.

Network Elements can be marked as ‘required’. If an element is required, it will stay available even if disconnected. If an element is not required, it will be deleted once disconnected.

By right-clicking on an element, an action menu opens. The menu allows to mount, unmount, view the details, edit and remove the element. Additionally, it links to several applications like Fault and Configure, which will be filtered to display information relevant to the selected element.

Connection Status Log

The log lists the connection status changes between SDN Controller and NetConf servers (devices).

Fault Management

To operate a network, it is important to get an overview about the currently raised alarms. The application offers basic fault management of devices supporting ONF-TR-532. The alarms are classified according to the severity level (warning, minor, major, critical).

Views

The graphical user interface is separated into three views.

Current Problem List

Lists all current active faults in the network. In addition, it also lists alarms sent by the SDN controller itself, which detects connection losses to the NetConf server (connectionLossOAM) or to a device via a mediator to a device (connectionLossNeOAM).

Alarm Notifications

As long as the view is open, all alarm notifications received by the SDN Controller are listed. Please note that refreshing the view will start the collection again. Previous alarm notification can be viewed in the alarm log.

Alarm Log

Next to the current active alarms an alarm log lists all alarm notifications of the past.

Implementation

The application has two parts. While the server is listening for NetConf notifications to store them in the database, the client retrieves the information from the database and displays them in a table.

The server synchronizes with the current alarm lists of the devices. Based on raised and cleared notifications, the current alarm status of the network is calculated. The current alarms are stored in a database. In addition, all Problem Notifications received by the SDN controller are stored. There is no logic implemented on the client side.

An alarm status bar in the header of the web application informs the operator about the health status of the network.

The ODLUX web application uses web sockets to update the graphical user interface of the Alarm Notifications (devices) and Connection Status Notifications in real-time.

Contents

Maintenance

The ‘Maintenance’ application on OpenDaylight provides information about planned maintenances of Network Elements, currently or in the future. Users can manage devices to set the maintenance mode so that no unnecessary alarms are created. When the device is in maintenance mode, alarms are not forwarded to DCAE. As soon as the maintenance is finished, the alarms will start flowing again.

The ‘active’ field in the table shows if the Network Element is currently in maintenance mode or not. If it is ‘active’ it means the Network Element is currently undergoing maintenance, if ‘not active’ it means maintenance might have been set for a future date or is already completed.

Users can disable the maintenance mode or change its start and end dates by using the available options in the actions column.

Configuration

The application shows the actual values of all attributes of the ONF-TR-532 for a selected physical network function (PNF). Each view of a functional element is divided into capabilities, configuration, status, current problem, current performance and history performance information according to TR-532.

A separate window is available for modifying the configuration. All changes made are sent to the device in a single NetConf bulk request. The operator is notified about successfully configuring the device.

Implementation

The application is implemented as ODLUX web application using the RestConf northbound interface of the SDN controller. The key frameworks are: Typescript, React and material-ui.

Connection status information is updated automatically using a web socket for notifications from OpenDaylight to the browser.

Performance

Performance Monitoring values measured by the devices are necessary to analyze and optimize the network. Therefore the application automatically retrieves all historical performance values from the devices and stores them in a database. The client retrieves the values from the database and displays them in a graphical user interface.

Performance history values

After selecting a connected PNF supporting ONF-TR-532 and a physical interface, the application collects the received and centralized stored performance values for this interface.

The values are visualized using two views: a line chart and a table, with the chart always shown first. To switch between them, toggle buttons can be used. The chart view offers a filter to quickly limit the shown values. To keep both views in sync, the filters of the chart and the table are connected. If one view is filtered, the other one gets updated in the background.

Inventory

The application offers basic inventory management of devices supporting ONF-TR-512 and ietf-hardware.

Views

The inventory application offers two different ways to visualize inventory data.

Tableview

The view displays the inventory data of the network element – for example, serial-numbers and part-numbers according to the containment of the equipment – as a table. By right-clicking on an entry, the element can be viewed in the treeview.

Treeview

The treeview visualizes relations between the inventory data of a network element. To load all relations, a ’*’ can be entered in the search-field.

Inventory Export:

The ‘︙’ button in the upper right corner of the table allows exporting the inventory data as a CSV file.

Only the currently viewed table data is exported. As the default pagination is set to 10, only the first 10 rows or filtered rows would be exported. To increase the number of exported rows change the pagination.

The behavior of the export can vary based on different browsers:

  1. Some browsers allow you to save the file with the predefined name export.csv. In case your browser does not offer this function please use the ‘Save as…’ option and define the filename with extension csv.

  2. Some browsers save the file automatically with the alphanumeric name but without an extension. In such a case navigate to the downloaded file location and rename the file. The extension (csv) must be appended to the name. The result should look like export_file.csv.

Contents

Mediator

Some device vendors (Altiostar, CommScope, Dragonwave-X) use the generic mediator framework. Such mediators offer an API to create, delete, start and stop mediator instances.

New mediator servers can be added via the ‘+’ button. Afterward, a server can be selected to view all available mediator instances.

A mediator instance can be started, stopped and deleted using the available actions. Additionally, its details can be viewed. The ‘+’ button allows the user to add a new instance. During the creation, at least one ‘ODL auto connect’ configuration must be added.

Installation

Below is the installation procedure for SDN-R Images and Configuration parameters

SDN-R WT Service Configuration parameters

ODL is operated as a cluster. The configuration settings must be the same for each cluster node.

Backgrounds regarding the container inter structure is described in SDN-R Docker Image configuration.

The configuration information of sdnr wireless transport parameters are in a single file.

For different devicemanager services, like DeviceMonitor there  are individual sections in the configuration file available.

Configuration file location: *$ODL_HOME/etc/devicemanager.properties*

If SDN-R WT is starting

  • and the file exists, the configuration is used.

  • if it does not exist it will be created with the default parameters.

Below an example of the content.

  • Example

    [toggleAlarmFilter]
    taEnabled=true
    taDelay=3000
    
    [es]
    esCluster=sdnr
    esArchiveCheckIntervalSeconds=0
    esArchiveLifetimeSeconds=2592000
    
    [dcae]
    dcaeUrl=off
    dcaeUserCredentials=admin:admin
    dcaeHeartbeatPeriodSeconds=120
    
    [aai]
    aaiUrl=off
    aaiUserCredentials=
    aaiHeaders=["X-TransactionId: 9999"]
    aaiDeleteOnMountpointRemove=false
    aaiTrustAllCerts=false
    aaiPropertiesFile=
    aaiApiVersion=aai/v13
    aaiApplicationId=SDNR
    aaiClientConnectionTimeout=30000
    aaiPcks12ClientCertFile=
    aaiPcks12ClientCertPassphrase=
    
    [pm]
    pmEnabled=true
    pmCluster=sdnr
    
    [devicemonitor]
    SeverityconnectionLossOAM=Major
    SeverityconnectionLossMediator=Major
    SeverityconnectionLossNeOAM=Major
    
Sections
toggleAlarmFilter

Configure toggle alarm filter.

taEnabled=true taDelay=3000

Parameter

Values

Default

Unit

Description

taEnabled

true, false

false

Enable or disable this service

taDelay

number

milliseconds

Integration time to take over the new alarm status

devicemonitor

Configure alarm severity of related alarms, generated by Device Monitor.

SDNC-616 - SDN-R WT app need to change alarm severity “Configurable” for ConnectionLossxxx alarm family (received from Mediator) , when it passed to DCAE VES collector.

Syntax: Parameter=Value

Example: SeverityconnectionLossOAM=Major

Values

Default

Unit

Description

SeverityconnectionLossOAM

NonAlarmed, Warning, Minor, Major, Critical

Major

SDN-Controller <> Mediator

Mountpoint monitoring. Indicates a not connected mounpoint

SeverityconnectionLossMediator

NonAlarmed, Warning, Minor, Major, Critical

Major

SDN-Controller <> NetworkElement

Device monitoring. No LTPs provided

SeverityconnectionLossNeOAM

NonAlarmed, Warning, Minor, Major, Critical

Major

SDN-Controller <> NetworkElement

Device monitoring. SSH Connetion, Core model not answering

SDN-R Docker Image configuration
Introduction

ONAP SDN-R is running in a docker container using ONAP/SDN-C image “onap/sdnc”.

The container is available as Alpine and Ubuntu version. The description uses examples for the Alpine version.

The alpine based sdnc docker imanges are stored in ONAP Nexus sdnc image.

The docker image contains a Opendaylight distribution in a standard configuration and ONAP/SDN-R specific microservices.

The Root location of ODL Karaf directory structure is ODL_HOME=/opt/opendaylight.

During container provisioning the installation of the feature is done, according to the provided configuration setting.

The docker image configuration is done by

  • Specific Environment variables settings

  • Files that are provided

Container startup parameters

The SDN-R specific configurations are provided during container start.

Different SDN-R services are using different parameter to be installed.

Parameter

Content

Description

SDNRWT

true|false

Set true to activate sdnr wt featureset. Set this during container start.

Devicemanager configuration is provided via $ODL_HOME/etc/devicemanager.properties

See  SDN-R WT Service Configuration parameters

SDNRNORTHBOUND

true|false

Set true to activate sdnr oofpci service.

Frequently asked questions

Which browser should I use to operate Opendaylight SDN-R User interface?

An actual version of Google Chromium or Google Chrome is recommended.


How to enable detailed logs in karaf for SDN-R applications

If you like to see more details in karaf logs for the NetConf communication between ODL and NetConf servers (mediators/devices) please invoke the following commands in the karaf console.

# Logging settings (on)
log:set DEBUG org.opendaylight.mwtn
log:set TRACE org.opendaylight.netconf
log:set TRACE com.highstreet.technologies.odl.app

Please note, setting the debug level to ‘TRACE’ may impact the performance on the controller. In production environment make sure to set back the debug level to ‘INFO’ as soon possible.

# Logging settings (off)
log:set INFO org.opendaylight.mwtn
log:set INFO org.opendaylight.netconf
log:set INFO com.highstreet.technologies.odl.app

Which commands should be used to analyse karaf logs?
cd $ODL_KARAF_HOME/data/log
rm *.txt
grep -anr --include=*.log* "| ERROR |" . | grep 2018 >> 01-error.txt
grep -anr --include=*.log* "RemoteDevice{" . | grep 2018 >> 02-devices.txt
grep -anr --include=*.log* "RemoteDevice{" . | grep "Unable to build schema context, unsatisfied imports" | grep 2018 >> 03-schema-issue.txt
grep -anr --include=*.log* "Matched request:" . | grep 2018 >> 04-matched-request.txt
grep -anr --include=*.log* "network-element" . | grep 2018 >> 05-network-element.txt
grep -anr --include=*.log* "urn:onf:params:xml:ns:yang:core-model" . | grep 2018 >> 06-core-module.txt
grep -anr --include=*.log* "PerformanceManagerTask" . | grep 2018 >> 07-pm-tick.txt
grep -anr --include=*.log* "Unable to read NE data for mountpoint" . | grep 2018 >> 08-unable-to-read.txt
grep -anr --include=*.log* "LKCYFL79Q01M01MSS801" . | grep 2018 >> 09-LKCYFL79Q01M01MSS801.txt
How to report an odlux issue

If you would like to report an odlux issue which you have noticed in the Graphical User Interface, please provide the following information:

  1. Description: In which application you have noticed the issue?

  2. Environment:

    • Which browser is used and the version of the browser. eg: Google chrome - version 71.0.3578.80 / Mozilla Firefox.

    • Which Operating system and version. eg: Linux/ Windows 10 - version 1803.

    • In which language you are using the application.

    • The application URL which is available on the browser address bar. eg: http://hostname/odlux/index.html#/connectApp

  3. Expected Result: What is the expected result you are looking for?

  4. Actual Result: What is the actual result you got?

  5. Steps to reproduce: Describe the steps to reproduce the scenario. If possible, please provide the screenshots

The above information helps us to analyze the problem quicker.

Contents

Abbreviations

Abbreviation

Description

AAF

Application Authorization Framework

A&AI

Active & Available Inventory

AAA

Authentication,Authorization and Accounting

AID

Architecture Integration Document

APPC

ApplicationController

BPEL

Business Process Execution Language

BPMN

Business Process Model and Notation or Business Process Management Notation

BRMS

Business Rules Management System

BSS

Business Support System

CCSDK

Common Controller SDK project

CDAP

Cask Data Application Platform

CDS

Controller Design Studio

CI/CD

Continuous Integration / Continuous Delivery

CL

Control Loop

CLAMP

Closed Loop Automation Management Platform (project)

CLI

Command Line Interface (project)

CMA

Change Management Application (within ONAP)

CNF

Cloud Native network Function.

COE

Container Orchestration Engine

CPE

Customer Premise Equipment

CSAR

Cloud Service ARchive (link)

DAO

Data Access Object

DCAE

Data Collection Analytics & Events

DDoS

Distributed Denial-of-Service attack

DG

Directed Graph

DG Builder

Directed Graph Builder

DMaaP

Data Movement as a Platform

DME

Direct Messaging Engine (common service within ONAP)

DNS

Domain Name System

DPDK

Data Plane Development Kit

EELF

Event and Error-Logging Framework

EMS

Element Management System

ESR

External System Register

ETSI

European Telecommunications Standards Institute

EUAG

ONAP End User Advisory Group

FCAPS

Fault Configuration Accounting Performance Security

GBP

Group-Based Policy

GNFC

Genric Network Function Controller

GUI

Graphical User Interface

HAS

Homing and Allocation Service

HDFS

Hadoop Distributed File System

HPA

Hardware Platform Awareness

HTTP

HyperText Transfer Protococol

HV VES

High Volume Virtual function Event Stream

IAM/IDAM

Identity and Access Management

ICE

Incubation and Certification Environment

IDS

Intrusion Detection System

IETF

Internet Engineering Task Force

IKE

Internet Key Exchange

IPS

Intrusion Prevention System

IPSEC

Internet Protocol Security

JAR

Java Archive

JSC

Java Service Container

JSON

JavaScript Object Notation

LCM

Life Cycle Management

LFN CVC

Linux Foundation Networking Compliance/Verification Committee

LFN CVP

Linux Foundation Networking Compliance/Verification Program

LRM

Local Resource Monitor

M0

Release Kick-off milestone. See also Release Lifecycle

M1

Release Planning milestone. See also Release Lifecycle

M2

Release Functionality Freeze milestone. See also Release Lifecycle

M3

Release API Freeze milestone. See also Release Lifecycle

M4

Release Code Freeze milestone. See also Release Lifecycle

MACD

(Vendor specific) Move Add Change Delete/Disconnect

MANO

MANagement and Organization of NFV

MD-SAL

Model Driven Service Abstraction Layer

MR

Message Router (a Common Service of ONAP)

MOP

Method of Procedure

MOTS

Mechanized Operations Tracking System

MSB

Microservice Bus

MSO

Master Service Orchestrator

MVP

Minimum Viable Product

NAI

Network Artificial Intelligence

NANCSP

Network Cloud Service Provider

NBI

North Bound Interface

NEP

Network Equipment Provider

NETCONF

Network Configuration Protocol

NFV

Network Function Virtualization

NFVI

network functions virtualization infrastructure

NOD

Network On Demand

NS

Network Services

NS

(Vendor Specific) New Start

O-RAN

O-RAN Alliance, Operator Defined Next Generation Radio Access Networks Alliance

O-RAN-SC

O-RAN Software Community

OAM

Operation and Maintenance

OA&M

Operations, Administration and Management

OMF

Operational Management Framework (of ONAP)

OMSA

ONAP Microservice Architecture

ONAP

Open Network Automation Platform

OOF

ONAP Optimization Framework

ODL

OpenDaylight

OOM

ONAP Operations Manager

OPNFV

Open Platform for NFV Project

OSAM

Open Source Access Manager

OSC

O-RAN Software Community or Optical Supervisory Channel

OSS

Operations Support System

PAP

Policy Administration Point (ONAP)

PCE

Path Computation and Element (ONAP)

PCI

Physical Cell ID

pCPE

physical Customer Premise Equipment

PDP-x

Policy Decision Point - XACML (ONAP)

PDP-d

Policy Decision Point - Drools (ONAP)

PO

Platform Orchestrator

PoC

Proof of Concept

POMBA

Post Orchestration Model Based Audit

PNDA

Open source Platform for Network Data Analytics

PNF

Physical Network Function

RCA

Root Cause Analysis

RCT

Reference Connection Tool

REST

Representational State Transfer

RESTCONF

A protocol based on HTTP for configuring data defined in YANG

RO

Resource Orchestrator

RPC

Remote Procedure Call

S3P

Stability, Security, Scalability, Performance

SDC

Service Design and Creation (component of ONAP for visual modeling and design)

SDN

Software-defined networking

SDN-C

SDN-Controller

SDN-R

SDN-Radio <https://wiki.onap.org/display/DW/SDN-R> __

SDN-GP

Software Defined Network - Global Platform

SEBA

SDN-Enabled Broadband Access, see also

SLA

Service Level Agreement

SLI

Service Logic Interpreter

SME

Subject Matter Expert

SMTP

Simple Mail Transfer Protocol

SNMP

Simple Network Management Protocol

SO

Service Orchestrator (project)

SOT

Source Of Truth

SR-IOV

Single-Root Input/Output Virtualization

SSL

Secure Sockets Layer

SUPP

(Vendor Specific) short for supplement, changing a connection before activation

Swagger

legacy name for the OpenAPI Specification

TCP

Transmission Control Protocol

TEM

Telecom Electronics Manufacturer

TLS

Transport Layer Security

TOSCA

Topology and Orchestration Specification for Cloud Applications

TPS

Transactions Per Second

TSC

Technical Steering Committee

U-UI

Usecase User Interface

UI

User Interface

UX

User Experience

vCE

virtual CE (Customer Edge) router (an example VNF)

vCPE

Virtual Customer Premise Equipment

vDNS

Virtual Domain Name Server (an example VNF)

VDU

Virtualisation Deployment Unit

VES

Virtual function Event Stream

vF

Virtual Firewall (an example VNF)

VF

Virtual Function

VFC

Virtual Function Controller

VFC

Virtual Function Component (Resource Onboarding)

vfModule

Virtual Function Module

VID

Virtual Instantiation Deployment

VID

Virtual Infrastructure Deployment (Project)

VIM

Virtualized Infrastructure Manager

VLAN

Virtual Local Area Network

VM

Virtual Machine

VNF

Virtual Network Function

VNFC

Virtual Network Function Component

VNFD

VNF Descriptor

VNFM

VNF Manager

VNO

Virtual Network Operator

vPE

virtual PE (Provider Edge) router (an example of a VNF)

VPP

Vector Packet Processing

VSP

Vendor Software Product (from SDC Demo Guide)

VTP

VNF Test Platform

VVP

VNF Validation Program

WAR

Web application Archive

xNF

The combination of PNF and VNF; Network Function

YANG

Yet Another Next Generation - a Data Modeling Language for the Network Configuration Protocol (NETCONF)