Versions Compared

Key

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

...

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


Requirements

Characteristics

#Interface(s) / RequirementCapabilitiesNotes
1

CPS-NCMP-I-01
Registration Performance

  1. NCMP should support discovery of up to 10k cmhandles
  2. NCMP should discovery cmhandles to READY state (with modules) at a rate of 4 per second assumptions :
    1. 100 cm handles per request
    2. 10 modules / cmhandle
    3. 95% module overlap across cmhandles
  1. This KPI is for an E2E use-case depending on the performance of components outside NCP e.g. the 'modelAdapter'. Some assumption about the performance of this external dependency should be defined too.
    1. This KPI should include a cloud environment definition such as available resources like CPU and memory and same for the Postgress DB configuration.
2

CPS-NCMP-I-01
Deletion Performance

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

  • Environment Requirements for :

    Expand
    1. CPS and NCMP

    requests:
        cpu: 2000m
        memory: 2Gi
    limits:
        memory: 3Gi
        cpu: 3000m

    2. Postgres

    requests:
        cpu: 4000m
        memory: 1Gi
     limits:
        memory: 3Gi
        cpu: 6000m


  • Starting number of CM Handles: 20,000and percentage deleted: 100
  • Number of deletion requests: 100 cm handles per request with a single thread.
  • De-Register CM Handles once all cm handles moved into READY state.
  • Configuration Options

    Expand
    • CM Handle LCM Event enabled

       notifications:    
         enabled: true

    • CPS-Temporal Notification should be disabled for the NCMP Registry dataspace
      notification:
        data-updated:

          filters:
            enabled-dataspaces: "NON-EXISTING-DATASPACE"



3

CPS-NCMP-I-01
Cm Handle Inventory Query  Performance

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


#ParameterExpectationNotes
1Response Time 1 <40 second
<60 second (stretch)


2Query complexity1 or more attributes on 1 Fragment (jsonb) object 
3Response payload sizeTBD KB
4Maximum registered #cm handles 20,000This will effect the internal query time
5Test Environment


Expand
  1. CPS and NCMP

requests:
    cpu: 2000m
    memory: 2Gi
limits:
    memory: 3Gi
    cpu: 3000m

2. Postgres

requests:
    cpu: 4000m
    memory: 1Gi
 limits:
    memory: 3Gi
    cpu: 6000m



6Concurrent request1
7Request FrequencyLow no more than 1 per minute



Background

When a new CM handle is encountered by the DMI plugin, NCMP is notified via REST. Once NCMP picks up the new CM handle it needs to determine what modules exist for it in the database and figure out which modules are missing. DMI plugin is contacted for all modules for this new node and they are matched to what CPS has. Missing modules are then retrieved from DMI and entered into the database.

...

View file
nameDMI NCMP Model Sync.pptx
height250


High Level Proposal of Work to be done

  1. Call dmi–plugin rest endpoint to retrieve all modules on new node (depends CPS-483 and CPS-531)
  2. Call CPS-Core rest endpoint to get all existing modules in cps-core (depends CPS-506)
  3. Calculate difference (delta) 
  4. Call dmi–plugin rest endpoint to retrieve missing modules CPS-483
  5. Add missing modules to cps-core to anchor (cm handle) (depends CPS-508)

Implementation Proposal

Within the DMI plugin there is a method where cm handles are sent to a registration method in NCMP.

...


get cm handles from string
call dmi to get modules for this cmhandle
compare with cps and get delta
call dmi for delta modules
return 
Map<String, String> newYangResourcesModuleNameToContentMap


Alternative flow

DMI calls ncmp with new cm handle

ncmp sends back created

dmi then calls get new modules 

get cm handles from string
call dmi to get modules for this cmhandle
compare with cps and get delta
call dmi for delta modules
return 
Map<String, String> new