Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Objective

Typically network-functions supporting NetConf Callhome do not support at the same time the VES event 'pnfRegistration'. In order inform the µServices within the SMO, a functionality as OAM-Controller level should be implemented. This function should send a VES pnfRegistration event to the VES-Collector when a new mount-point is created which is listed in the allowed devices.

As the OAM controller is listening to VES.pnfRegistration to establish NetConf sessions for "O-RAN O1 nodes" the VES:pnfRegistration invoked by the OAM-Controller must be ignored.


Sequence Diagram

PlantUML Macro
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
' PlantUML for O-RAN-SC closed loop use case D-release (OAM view)
'
' Copyright 2021 highstreet technologies GmbH
' Licensed under the Apache License, Version 2.0 (the "License"); 
' you may not use this file except in compliance with the License. 
' You may obtain a copy of the License at 
' 
' http://www.apache.org/licenses/LICENSE-2.0 
' 
' Unless required by applicable law or agreed to in writing, software 
' distributed under the License is distributed on an "AS IS" BASIS, 
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
' See the License for the specific language governing permissions and 
' limitations under the License. 
'

@startuml

' Diagram 
title 
  NetConf/Callhome to VES-PNF-Registration
  OpenDaylight Aluminium SSH only
end title

box "User space" #lightblue 
  actor "Operator" as user 
end box 

box "SMO" #gold 
  participant "Message-Router" as mr 
  participant "VES-Collector" as ves
  participant "OAM-Controller" as oam 
end box 

box “O-RU” #lightpink 
  participant "NetConf-Server-OFH" as ncsofh 
end box 

autonumber 1 1 "<b>[00]" 

== init ==

user -> ncsofh: SET NetConfServer params for Callhome\nOAM-Controller listen on port 6666
user <- ncsofh: GET publicKey
user -> oam: SET allowed devices with publicKey 

loop Listen to pnfRegistration
  oam -> mr : VES subscription
end 

== use case ==

ncsofh -> oam: NETCONF Callhome SSH
ncsofh <-> oam: NETCONF <hello/> \nExchange capabilities \nincluding YANG modules for OpenFronthaul
oam -> oam: create mount point \nin network-topology=topology-netconf

oam -> ves : VES:domain=notification \nNetConf connection status \nchanged to "connected"
ves -> mr: publish event

group if mount-point:node-id is in "alloved devices"
  oam -> ncsofh: GET ietf-hardware/components\nThe first item in the list is used \nfor mapping into VES:pnfRegistration event.
  ncsofh -> oam: response of first item
  oam -> oam: map ietf-hardware/component[1] \ninto VES:pnfRegistration (see below)
  oam -> ves: VES:domain=pnfRegistration\nwith 'reporter=OAM-Controller-id'
  ves -> mr: publish event
  mr -> oam: fetch pnfRegistration
  group if 'reporter=OAM-Controller-id'
  oam -> oam: ignore!!!
  end
end

group if <create-subscription/> supported
  oam -> ncsofh: NETCONF Notification Subscription
end

' End Diagram
' Format

right footer 

  Thanks to PlantUml! 
  License: Apache 2.0
  2021-02-06 | o-ran-sc.org
end footer

skinparam backgroundColor #fefefe

skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15

skinparam database  {
    BorderColor #444444
    BackgroundColor #ffffdd
    FontColor #444444
}

skinparam sequence {
  MessageAlign left
  ArrowColor #2277dd
  ArrowFontColor #444444
  ArrowThickness 2
  ActorBorderColor #444444
  LifeLineBorderColor #444444
  LifeLineBackgroundColor #eeeeee
  LifeLineBackgroundColor #eeeeee
 
  BoxBorderColor #444444
    
  GroupBorderColor #444444
  GroupBackgroundColor #eeeeee
  
  ParticipantBorderColor #444444
  ParticipantBackgroundColor #ffffdd
  ParticipantFontColor #444444
    
  ActorBackgroundColor #ffffdd
  'ActorFontColor DeepSkyBlue
  'ActorFontSize 17
  'ActorFontName Aapex
}

@enduml



Implementation

It is assumed that the existing "MountPoint-Registrar" functionality could be enhanced.

Please note that the ODL version Aluminum does not support NetConf Callhome for TLS. It should be checked, if the OpenDaylitght version Silicon (R0 March 2021) could be used instead.

Mapping to VES pnfRegistration fields

The following mapping table bases on the capabilities of OpenDaylight version Aluminum and maps them to the VES 7.2 fields for domain 'pnfRegistration'.



(under discussion)

VES:commonEventHeader

implementation of OpenDaylight Aluminium (link)

domain

Static text "pnfRegistration"

eventId

The value Value of 'nt:network-topology/nt:topology/nt:node/nt:node-id'.

eventName

The value Value of 'nt:network-topology/nt:topology/nt:node/nt:node-id'.

eventType

Static text: "NetConf Callhome Registration"

internalHeaderFields

not mapped

lastEpochMicrosec

Time of OAM-Controller

nfcNamingCode

always ""

nfNamingCode

always ""

nfVendorName

Static text "O-RAN Alliance"

alternative: The value of ietf-hardware (RFC8348) /hardware/component[1]/mfg-name. The synchronization with the inventory of the device would delay the PNF registration event. 

priority

Static text "Normal"

 

priority

Static text "Normal"

reportingEntityId

The OAM-Controller identifier with in the SMO - e.g. the fully qualified domain name or IP-Address.
If a VES:pnfRegistration event is fetched from the Message-Router, then this VES:pnfRegistration event must not processed and must be ignored, avoiding double registration by NetConf Callhome and VES:pnfRegistration

reportingEntityName

as configured by helm charts for the OpenDaylight cluster name

sequence

As per NetConf notification increasing sequence number as unsigned integer 32 bits. The value is reused in the eventId field.

sourceId

Value of 'nt:network-topology/nt:topology/nt:node/nt:node-id'.

sourceName

Value of 'nt:network-topology/nt:topology/nt:node/nt:node-id'.

startEpochMicrosec

Current OAM-Controller Node timestamp in unix time format - as microseconds elapsed since 1 Jan 1970 not including leap seconds.
Q: is it possbile to read a timestemp from the NetConf Callhome message?

timeZoneOffset

Static text: "+00:00" - Please note, the time format in all related OAM controller times is in UTC time format - a mapping to other time formats happens in presentation layer only (e.g. on user settings, bowser settings, ...)

version

Static text: "4.1"

vesEventListenerVersion

Static text "7.1.1"

VES:pnfRegistrationFields


additionalFields

not mapped

lastServiceDate

not mapped

macAddress


manufactureDate


modelNumber


oamV4IpAddress


oamV6IpAddress


pnfRegistrationFieldsVersion

Static text: "2.0"

serialNumber


softwareVersion


unitFamily


unitType


vendorName

The value of ietf-hardware (RFC8348) /hardware/component[1]/mfg-name. 

reportingEntityId