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
3
Should (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
ncmp-datastores:operational (will use cached data when sync=On)
ncmp-datastores:running (will forward to DMI-Plugin in Istanbul release)
ncmp-datastores:passthrough-operational (always forward to DMI-Plugin)
ncmp-datastores:passthrough-running (always forward to DMI-Plugin)
Suggestions in previous column were agreed in CPS Weekly meeting
5
What datastores are supported/recognized by (ONAP) DMI-Plugin Interface in Istanbul Release
Suggested exact same as NCMP supported options
ncmp-datastores:operational (for cmhandles with sync=Off)
ncmp-datastores:running
ncmp-datastores:passthrough-operational
ncmp-datastores:passthrough-running
Suggestions in previous column were agreed in CPS Weekly meeting
6
How 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
7
What 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
name
ONAP Rel I - NCMP Roadmap.pptx
height
150
draw.io Diagram
border
true
diagramName
NCMP and DMI
simpleViewer
false
width
200
links
auto
tbstyle
top
lbox
true
diagramWidth
486
revision
1
Proposed Epics/ Preliminary User Stories
Priorities & Scope for Istanbul Release
Priority
Description
Notes
Istanbul commitment/delivery
Jira(s)
1
Publish and Share NCMP Rest interface proposal
detailed for Istanbul scope, general structure only for functionality related to later releases
Support method to add initial inventory (e.g. hidden 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.
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
server
ONAP Jira
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-445
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-385
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-406
5
Support ncmp-datastores:passthrough-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. RestConf: content=all NO conversion. NO schema's in OpenAPI Ymll (just String)
Committed & Delivered
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-388
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-394
Jira
server
ONAP Jira
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-486
Jira
server
ONAP Jira
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-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
Retrieve list of cm-handles that have a given module
Delayed until Jakarta
15
Automatic (optional) Data Sync
Metadata (per cmHandle) controls whether this will happen or not
Out of Scope
16
Implement -async option for CRUD and Patch operations
Out of Scope
17
Support multiple cmHandles in a single call (bulk)
Out of Scope
18
Support all cmHandles in a single call?
Out of Scope
19
Invoke YANG modelled RPC or action
Out of Scope
API Changes
To support the added functionality in NCMP, changes are expected in the CPS external interface CPS-E-05. (For overview of CPS interfaces, see the CPS architecture page.) Changes are planned in the following areas, matching items in the scope/priority table above:
New APIs for reading data for CM handle
New APIs for writing data for CM handle
New API to request data sync for CM handle
New API to retrieve model information for CM handle
(stretch goal) New API to retrieve list of CM handles supporting a given module
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.
CPS-391Spike: Define and Agree NCMP REST Interface
CPS-391Spike: Define and Agree NCMP REST Interface
nopanel
true
Epics Summary
Jira filter all user stories in all epics:
Jira
server
ONAP Jira
jqlQuery
filter=12609
count
true
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
#
Epic
Project/Component
Description
Comments
1
E2E Network Slicing
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-382
CPS
This scenario will demonstrate configuration management using NCMP.
There should be following functional requirements need to be fulfilled
Add/remove *CM-Handle by using *DMI (Date Model Inventory) based on events.
create component
interface definition/agreement with community
listen/filter to event
handle add event
handle remote event
Pass through read and write data from application to node via ncmp using SDNC
Sync network model and data from node to cps via ncmp
Read cached data model or data from cps to application via ncmp
Data Model Inventory (DMI) consist out of 2 parts:
DMI Registry
DMI Plugin (instances) e.g. ONAP DMI-Plugin
Component Impacts; Suggested User Stories
#
Project/Component
Description
Suggested Stories
Comments
1
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
Ensure all (CPS-Core) Read operations are mirrored
Remove/migrate? 'hardcoded generic models used in H release"
Spike API for Update and Delete Operations
consider 'bypass' option
interfaces for yang data are: operational, intended, pass-through (selection can be done by
enum
parameter)
check with netconf-sim if current nw slicing yang model can be imported including its imports.
Create dmi-registry. Data Model Inventory Interface (DMI)
'Internal service' no public Java or REST API
responsibilities are
Store & retrieve cm-handle/dmi-
since
plugin mapping in yang modelled CPS data table.
include additional data (key-value pars as provided by dmi-Plugin)
Dmi manager is to select the dmi instance at runtime for cm handle for a northbound (write) request
create new module for dmi-registry
create yang-model (ncmp-dmi-registry) in cps repository for cm-handle->dmi-pluginmapping. To store relations between cm-handle (anchor) and dmi-plugin (instances)
Create anchor with model from step 2 in new (ncmp-admin) dataspace?! (once upon deployment)
create API to
create new dmi-plugin entry during registration
create API to
Register cm-handle->dmi-plugin entry when new cm-handle
Get dmi-plugin for given cm-handle
Delete cm-handle->dmi-plugin registration
Delete dmi-plugin ? TBC
separate stories for data and model.
3
DMI-Plugin
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-384
DMI-Plugin (ONAP impl.)
3
CPS/NCMP/DMI-Plugin
Common standard (REST and Java?) interface for extensibility
create dmi
pluginfor
plugin for onap.
For production its
Its responsibility of admin to provide instance of dmi.
At first, on A&AI change event over DMaap, create mapping for cm-handle and dmi instance and sync yang model and data.
extract dmi-plugin into separate container consensus on rest interface is needed.
4
Inventory
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-385
DMI-Plugin (ONAP impl.)
Capability to get initial Inventory
Process Inventory updates
5
Model & Data Sync
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-386
DMI-Plugin (ONAP impl.)
6
Pass-Through Support
Jira
server
ONAP JIRA
serverId
425b2b0a-557c-3c0c-b515-579789cceedb
key
CPS-388
DMI-Plugin (ONAP impl.)
Filter (register) only yang modelled xnf instances's cm-handle, based on event header information of Node
dmi plugin instance (onap-dmi) have sdnc connector to access sdnc.
call get/post/put/delete towards restconf interface (forward northbound write requests)
Defined and Agree common (java?) Interface
create module dmi-onap-plugin Rest and Impl modules
create sub-module dmi-notification-handler
create sub-module dmi-adapters
create sub-module dmi-rest and dmi-plugin
create infra for separate spring boot application and docker image for dmi-plugin
extract dmi-plugin into separate container consensus on rest interface is needed.