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

4What datastores are supported/recognized by NCMP Interface in Istanbul Release

Suggested, see Datastore paths and format combinations section below

  1. ncmp-datastores:operational (will use cached data when sync=On)
  2. ncmp-datastores:running (will forward to DMI-Plugin in Istanbul release)
  3. ncmp-datastores:passthrough-operational (always forward to DMI-Plugin)
  4. ncmp-datastores:passthrough-running (always forward to DMI-Plugin)

Suggestions in previous column were agreed in CPS Weekly meeting  

5What datastores are supported/recognized by (ONAP) DMI-Plugin Interface in Istanbul Release

Suggested exact same as NCMP supported options

  1. ncmp-datastores:operational (for cmhandles with sync=Off)
  2. ncmp-datastores:running
  3. ncmp-datastores:passthrough-operational
  4. ncmp-datastores:passthrough-running

Suggestions in previous column were agreed in CPS Weekly meeting  

6How to handle any other (custom) datastore value

Agreed in CPS Weekly meeting  : Both NCMP and DMI-Plugin wil not support any other datastore value in the Istanbul timeframe


Istanbul Roadmap

View file
nameONAP Rel I - NCMP Roadmap.pptx
height150

Priorities & Scope for Istanbul Release

PriorityDescriptionNotesIstanbul commitmentJira(s)
1Publish and Share NCMP Rest interface proposaldetailed for Istanbul scope, general structure only for functionality related to later releasesCommitted

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

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

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

3

Register a DMI Plugin with NCMP

DMI plugin registration is implicit part of CM handle registration (inventory update), REST endpoint on NCMP (can be multiple calls)Committed

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

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


4

Initial Inventory (semi hardcoded e.g. hidden rest endpoint

Additional properties for ONAP plugin may need ODL mountpoint, stored by NCMP and later provided to DMI plugin for each request. The mountpoint is created outside of CPS and DMI plugin.Committed

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

5Passthrough Read operations for data (single cmHandle, synchronous only)Explicit specified Passthrough datastores only (ncmp-datastores:passthrough-*, see Datastore Mapping below) i.e. no resource-path or data format transformations required. 

Committed

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

6

Create, Update & Delete operations for (single cmHandle , synchronous only )

Explicit specified Passthrough datastores only (ncmp-datastores:passthrough-*
Not expected these to be differ much from each other from a NCMP/DMI plugin perspective.
Committed

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

7Inventory Changes define and implement interface to add & remove cm handleRelated to #3Committed

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-443
Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-444

8Model discovery (get and store model for a cm-handle)NCMP queries DMI plugin that provides information, for ONAP retrieved via SDNC/ODLCommitted

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

9Retrieve list of modules (names) for a cmHandleUsed by applications to get cached information from NCMP about modelsCommitted
10Explicit (initial) data sync Triggered by client using REST endpoint on NCMP for one CmHandleCommitted
11Support ds/ncmp-datastores:operational for read and query operationsThis will probably be covered in Istanbul anyway for E2E NW Slicing Use-CaseCommitted

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

12Support dynamic inventory changes (ONAP DMU Plugin)React to events from AAI sent over DMaaP, in turn using API in #7 for updatesStretch

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

13Yang Patch operations for single cmHandle with ds = pass-through, synchronous only
Stretch
14Retrieve list of cm-handles that have a given module
Stretch
15Support yang-data+json output for all datastores
Stretch
16Automatic (optional) Data Sync Metadata (per cmHandle) controls whether this will happen or notOut of Scope
17

Implement -async option for CRUD and Patch operations


Out of Scope
18Support multiple cmHandles in a single call (bulk)
Out of Scope
19Support all cmHandles in a single call?
Out of Scope
20


Out of Scope


Excerpt from CPS-391Spike: Define and Agree NCMP REST Interface :

Excerpt Include
DW:CPS-391Spike: Define and Agree NCMP REST Interface
DW:CPS-391Spike: Define and Agree NCMP REST Interface
nopaneltrue


Epics Summary

Jira filter all user stories in all epics:  

Jira
serverONAP Jira
jqlQueryfilter=12609
counttrue
serverId425b2b0a-557c-3c0c-b515-579789cceedb

#EpicProject/ComponentDescriptionComments
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. 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

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. 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

5

Model & Data Sync

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

DMI-Plugin (ONAP impl.)

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)
Possibly overlaps with #1 E2E Network Slicing

Data Stores

Code Block
titleIETF Datastores Architecture (source https://datatracker.ietf.org/doc/html/rfc8342#page-11)
collapsetrue
     +-------------+                 +-----------+
     | <candidate> |                 | <startup> |
     |  (ct, rw)   |<---+       +--->| (ct, rw)  |
     +-------------+    |       |    +-----------+
            |           |       |           |
            |         +-----------+         |
            +-------->| <running> |<--------+
                      | (ct, rw)  |
                      +-----------+
                            |
                            |        // configuration transformations,
                            |        // e.g., removal of nodes marked as
                            |        // "inactive", expansion of
                            |        // templates
                            v
                      +------------+
                      | <intended> | // subject to validation
                      | (ct, ro)   |
                      +------------+
                            |        // changes applied, subject to
                            |        // local factors, e.g., missing
                            |        // resources, delays
                            |
       dynamic              |   +-------- learned configuration
       configuration        |   +-------- system configuration
       datastores -----+    |   +-------- default configuration
                       |    |   |
                       v    v   v
                    +---------------+
                    | <operational> | <-- system state
                    | (ct + cf, ro) |
                    +---------------+

     ct = config true; cf = config false
     rw = read-write; ro = read-only
     boxes denote named datastores

Datastore Mapping in ONAP DMI Plugin impl.

#Incoming DS value (NCMP & DMI Rest interfaces)Outgoing (non-NMDA RestConf controller)Notes
1/ds/ncmp-datastores:operational
content=all
CT + CF, RO
2/ds/ncmp-datastores:running
content=config
CT, RW
3/ds/ncmp-datastores:passthrough-operational
content=all
CT + CF, RO
4/ds/ncmp-datastores:passthrough-running
content=config
CT, RW
5/ds/<anything-else>N/ANot supported

Component description diagram

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

Interfaces

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

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