Versions Compared

Key

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

Table of Contents

Reference Material

Open Issues & Decisions

#DescriptionNotesDecision
1How to deal with hardcoded E2E NW Slicing model, spike

  Discusdons started with E2E NW Slicing Team, to be continued next week


2Which Simulator to use? NetConf Simulator Netopeer v2
  1. Nokia  
  2. Ericsson 
  3. Honeycomb(?)
  4. lighty netconf simulator

Rahul Tyagi Ericsson more lightweight, more experience.
Available CSIT standard setup

Swaminathan Seetharaman mentioned 'Honeycomb' simulator they used before. Need to investigate if it supports get-schema method over RESTConf/NetConf

Need to check if we can use it with E2E NW Slicing model


3Should (ONAP) dmi-instance be  as separate (springboot) application
Could be part of DMI Manager
DMI-Instance interface should be an open standard

Tony Finnerty and Team to allow easy integration of future 3rd part DMI-Plugin instances a separate application with its own REST Interface is required


Istanbul Roadmap

View file
nameONAP Rel I - NCMP Roadmap.pptx
height150

Priorities & Scope for Istanbul Release

PriorityDescriptionNotesIstanbul commitment
1Publish and Share NCMP Rest interface proposaldetailed for Istanbul scope, general structure only for functionality related to later releasesCommitted
2Publish and Share DMI Plugin Rest interface proposaldetailed for Istanbul scope, general structure only for functionality related to later releasesCommitted
3

Register a DMI Plugin (NCMP)

sends an event with initial inventory (TBC)Committed
4

Initial Inventory (semi hardcoded e.g. hidden rest endpoint or some kind of properties file, ONAP only)


Committed
5Read operations for single cmHandle, synchronous only

using 'pass-through' scenario (default on no data present for cm-handle)

In I timeframe ncmp will support the following datastore parameters 

  1. If nothing is specified it attempts to read from the cache, if there is no cache then it will try to access the plugin
  2. pass-through 
  3. operation-running (this means getting it from the cache if there is no data then you will get an error)
Committed
6

Create, Update & Delete operations for single cmHandle , synchronous only  (fall back to plugin - this means your not specifying any datastore and there is no cache)

using 'pass-through' scenario (default on no data present for cm-handle)
I don’t expect them to be different at all from a NCMP/DMI plugin perspective
Commited
7Inventory Changes define and implement interface to add & remove cm handle
Committed
8Model discovery (get and store model for a cm-handle)
Committed
9Retrieve list of modules (names) for a cmHandle - make higher priority 
Committed
10Manual (initial) data sync
Committed
11Support dynamic inventory changes (ONAP DMU Plugin)react to DMaapP events using methods define under #5Stretch
12Yang Patch operations for single cmHandle with ds = pass-through, synchronous only
Stretch
13Retrieve list of cm-handles that have a given module
Stretch
14Support yang-date+json output for all datastores
Stretch
15Trigger (initial) Data SyncMetadata (per cmHandle) controls whether this will happen or notOut of Scope
16

Implement -async option for CRUD and Patch operations


Out of Scope
17Support multiple cmHandles in a single call (bulk)
Out of Scope
18Support all cmHandles in a single call?
Out of Scope
19Support ds = operation-running for read and query operations
Out of Scope
20Support yang-data+json output format for ds = operational running
Out of Scope

Suggested Epics & User Stories 


#EpicProject/ComponentDescription(Suggested) StoriesComments
1

E2E Network Slicing

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-382


CPS/NCMP

create rest interface on northbound for GET/POST/PUT/DELETE to access yang data.
Note. Currently driven by "E2E Network Slicing" Use Case mix of CPS-CORE and NCMP Interface

  1. Spike API for Update and Delete Operations
    Jira
    serverONAP JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-278
     
  2. 'List' support
    1. Jira
      serverONAP JIRA
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keyCPS-360
    2. Jira
      serverONAP JIRA
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keyCPS-362
    3. Jira
      serverONAP JIRA
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keyCPS-361
  3. Remove/migrate? 'hardcoded generic models used in H release"
  1. interfaces for yang data are: operational, intended, pass-through (selection can be done by parameter)
  2. check with netconf-sim if current nw slicing yang model can be imported including its imports.

2

DMI-Registry

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-350

(NCMP) DMI-Registry

Create  dmi-registry. Data Model Inventory Interface (DMI)

'Internal service' no public Java or REST API

responsibilities are

  1. Store & retrieve cm-handle/dmi-plugin mapping in yang modelled CPS data table.
    1. include additional data (key-value pars as provided by dmi-Plugin)
  2. Dmi manager is to select the dmi instance at runtime for cm handle for a northbound (write) request
  1. Define and Agree Yang Data Model 
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-352
  2. Create Dataspace & Anchor for DMI Registry 
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-353
  3. Spike: How will DMI Plugin (de-?)Register with NCMP (DMI Registry) 
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-389
  4. Implement Plugin Registration (DMI Registry Side)
  5. Add CMHandle (registration) incl. 'Additional properties'
  6. Remove CMHandle (registration)

3

DMI-Plugin

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-384

DMI-Plugin (ONAP impl.)

Common standard (REST and Java?) interface for extensibility

create dmi plugin for onap. Its responsibility of admin to provide instance of dmi. 

  1. Create module dmi-onap-plugin Rest and Impl modules.   
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-403
    Suggestion (TBC):
    1. sub-module dmi-notification-handler
    2. sub-module dmi-rest
    3. sub-module dmi-plugin
  2. Create infra for separate spring boot application and docker image for dmi-plugin 
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-404
  3. Implement Plugin Registration (DMI Plugin Side) 
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-405
  1. extract dmi-plugin into separate container consensus on rest interface is needed.
4

Inventory

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-385

DMI-Plugin (ONAP impl.)
  • Capability to get initial Inventory
  • Process Inventory updates
  1. MVP: hard-coded inventory list 
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-406
  2. Spike A&AI inventory list  
    Jira
    serverONAP JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-392
  3. Spike A&AI event subscription & filtering  only yang modelled xNF instances's
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-393

5

Model & Data Sync

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-386

DMI-Plugin (ONAP impl.)
  1. Spike SDNC Interface for Model Retrieval  
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-394

6

Pass-Through Support

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-388

DMI-Plugin (ONAP impl.)
  1. dmi plugin instance (onap-dmi) have sdnc connector to access sdnc.
  2. call get/post/put/delete towards restconf interface (forward northbound write requests)
  1. Define and agree NCMP & DMI REST Interfaces (Ericsson will provide output internal study) 
    1. Jira
      serverONAP JIRA
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keyCPS-390
    2. Jira
      serverONAP JIRA
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keyCPS-391
  2. Spike SDNC Interface for CRUD Operations  
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-395
Possibly overlaps with #1 E2E Network Slicing

Interfaces

draw.io Diagram
bordertrue
diagramNameNCMP and DMI
simpleViewerfalse
width200
linksauto
tbstyletop
lboxtrue
diagramWidth355
revision4


Preliminary Interface Overview (Work-in-Progress)


#modulerest apijava api
1onap/cps/ncmp/dmi-registry


#typenameparams
1POSTregister_dmi_plugin
  1. dmi-plugin-id
  2. name
  3. adress
  4. other-params
2POSTcreate_cm_handle
  1. cm-handle
  2. dmi-plugin-id
3DELETEdelete_cm_handle
  1. cm-handle



#method_nameparamsreturn
1getDmiPluginByCmHandlecm-handledmi-plugin-object


2onap/cps/ncmp/dmi-plugin

3onap/cps/ncmp/ncmp-rest

4onap/cps/cps-rest

JIRA Status Tracking

Epic: 

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-321

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQuerykey in (CPS-321,CPS-333,INT-1902,INT-1904)
serverId425b2b0a-557c-3c0c-b515-579789cceedb

Component description diagram

draw.io Diagram
bordertrue
diagramNameCPS NCMP Deployment Proposal
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth889
revision17

Sequence diagrams


draw.io Diagram
bordertrue
diagramNameCopy of CPS NCMP Deployment Proposal
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth691
revision5



draw.io Diagram
bordertrue
diagramNameregister dmi-service
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth671
revision4






draw.io Diagram
bordertrue
diagramNamesync
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth861
revision6



draw.io Diagram
bordertrue
diagramNameput-post-delete
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth1301
revision4



draw.io Diagram
bordertrue
diagramNameget-op
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth661
revision3