Versions Compared

Key

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

...

#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

For E2E use case Honeycomb simulator wil be used. If needs be for certain non E2E functionality where this simulator has limitations the team can still decide to test/develop against NeToPeer simulator
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

7What to do with old CM-Proxy interface implemented in H.Methods never really used by E2E Network Slicing team. Methods will be 'deprecated' using Open API option for that.. Replace and refactor other layers as needs when new methods using the new API are being implemented


Istanbul Roadmap

View file
nameONAP Rel I - NCMP Roadmap.pptx
height
View file
nameONAP Rel I - NCMP Roadmap.pptx
height150

Priorities & Scope for Istanbul Release

CommittedCommittedCommittedCommittedCommittedStretchStretch
PriorityDescriptionNotesIstanbul commitment/deliveryJira(s)
1Publish and Share NCMP Rest interface proposaldetailed for Istanbul scope, general structure only for functionality related to later releasesCommitted & Delivered

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 & Delivered

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 & Delivered

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 Support method to add initial inventory (e.g. hidden rest REST endpoint on ONAP DMI plugin)

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

Note 1: This method (hidden REST endpoint) is expected to be a temporary solution, additional options are part of stretch goal (#13).
Note 2: Adding the initial inventory should also trigger a model-sync for each node in that inventory (step #8)


Committed & Delivered

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

5Passthrough Read operations for Support ncmp-datastores:passthrough-operational for reading data (single cmHandleCM handle, synchronous only)Explicit specified Passthrough datastores only (ncmp-datastores:passthrough-*, see Datastore Mapping below) i.e. no resource-path or data format transformations required. See CPS-391 page for details about supported operations and combinations. Note: There can be some overlap between work items for #5, #6, #11 and #12.
RestConf: content=all
NO conversion. NO schema's in OpenAPI Ymll (just String)

Committed & Delivered

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

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-486
Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-487
6

Support ncmp-datastores:passthrough-running for reading and writing data (single CM handle, synchronous only)

See CPS-391 page for details about supported operations and combinations. Note: There can be some overlap between work items for #5, #6, #11 and #12.
Almost identical to step #5 above just RestConf: content=config
Committed but Partly Delivered:

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

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

7Inventory Changes: define and implement interface in NCMP to allow DMI plugin to add, update & remove CM handlesOverlap with #3, used by #4 and #13Committed & Delivered

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

8

Model discovery (automatic retrieval and caching of model information in NCMP for a CM handle)

NCMP queries DMI plugin that provides information, for ONAP retrieved via SDNC/ODLCommitted & Delivered

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

Jira
serverONAP

JIRA

Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-

388

483
Jira
serverONAP

JIRA

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.

484
Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-505

Jira
serverONAP

JIRA

Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-

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

506

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

Jira
CPS-443
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedbkey-557c-3c0c-b515-579789cceedb
keyCPS-531

9Retrieve list of modules (names) for a CM handleUsed by applications to get cached information from NCMP about modelsCommitted & Delivered

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

810Model discovery (get and store model for a cm-handle)NCMP queries DMI plugin that provides information, for ONAP retrieved via SDNC/ODLExplicit (initial) data-sync for a CM handle (extend model-sync started in step #8)Triggered by client using REST endpoint on NCMPDelayed until Jakarta

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

9Retrieve list of modules (names) for a cmHandleUsed by applications to get cached information from NCMP about modelsCommitted10Explicit (initial) data sync Triggered by client using REST endpoint on NCMP for one CmHandleCommitted

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

11Support ncmp-datastores:operational for reading data (single CM handle, synchronous only)See CPS-391 page for details about supported operations and combinations. Note: There can be some overlap between work items for #5, #6, #11 and #12.Delayed until Jakarta11Support ds/ncmp-datastores:operational for read and query operationsThis will probably be covered in Istanbul anyway for E2E NW Slicing Use-Case

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

12Support ncmp-datastores:running for reading and writing data (single CM handle, synchronous only)See CPS-391 page for details about supported operations and combinations. Note: There can be some overlap between work items for #5, #6, #11 and #12.Delayed until Jakarta
1312

Support dynamic inventory changes (ONAP

DMU

DMI Plugin)

React to events from AAI sent over DMaaP, in turn using

API in #7 for updates

API in #7 for updates

Possible in a generic way o it can also listen to similar events sent by SDN-R  (as suggested by Ahila P)

Delayed until Jakarta

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 onlyStretch14Retrieve list of cm-handles that have a given module
Delayed until Jakarta
15Support yang-data+json output for all datastoresStretch16Automatic (optional) Data Sync Metadata (per cmHandle) controls whether this will happen or notOut of Scope
1716

Implement -async option for CRUD and Patch operations


Out of Scope
1817Support multiple cmHandles in a single call (bulk)
Out of Scope
1918Support all cmHandles in a single call?
Out of Scope
2019Invoke YANG modelled RPC or action
Out of Scope

...

Some existing CPS-E-05 APIs may be removed or deprecated if not currently used. See Decision #7

In addition to external APIs, extensions may be made to the CPS Core library to support some NCMP use cases. Plugin APIs will also be added to support communication between NCMP and DMI plugins.

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

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

...

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


Excerpt

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

...