Versions Compared

Key

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

...

Issues & Decisions

wil
#Issue

Notes

Decisions

1Use "Generic" Detail-fields or or more specific fields

kieran mccarthy prefer to use specific terms like 'orginalState' instead of generic 'details'

2how many event schema's for different events will there be?

e.g. 1 schema for state change, 1 other schema for public properties?
OR
a single schema with some fields not always of the used/compulsory

Need to discuss with kieran mccarthy 

One single schema for all cmhandle LCM events : org.onap.ncmp:cmhandle-lcm-event:v1

3what is the best term to use for change events 'original', 'previous' or something elseTeam found term 'original' confusing and prefers 'previous' e.g. previousStateuse 'oldValues' and 'newValues'.  See analysis below.
4Should public properties be part of (same) structure as stateTeam feels state and properties are very different and should not be combined into same structure
This also depends on open issue #2
Agreed at team meeting that all cmhandle metadata attributes to be managed in the same manner whether that is state or properties.
5Should the schema version be separate from 'eventSchema'?

The event schema is defined like this : org.onap.ncmp:cmhandle-lcm-event:v1 where version is at the end of the schema string.  It would be better to split the schema version into its own header field.  e.g.

”eventSchema”               : “org.onap.ncmp:cmhandle-lcm-event",   
”eventSchemaVersion”   : “v1.0",   

Toine Siebelink Can we split the schema version into its own field or is it a standard way to reference schema versions like the way CPS do it for their events (at least I think this is what they do?) like this : 'org.onap.ncmp:cmhandle-lcm-event:v1'

    

//priyank : Agreed to use the specified format in the notes in LCM Schema and also create a user story to handle the async schema on similar grounds.

6Mentioning the mandatory and optional fields in our schemas.

Mandatory(M) and Optional(O)

Schema Sample : 


Code Block
{
  "eventId"               : "00001",   (M) 
  "eventCorrelationId     : "cmhandle-001" (M)     
  "eventTime"             : "2021-11-16T16:42:25-04:00", (M)
  "eventSource"           : "org.onap.ncmp",        (M)                         
  "eventType"             : "org.onap.ncmp.cmhandle-lcm-event.create",   (M)
  ”eventSchema”           : “org.onap.ncmp:cmhandle-lcm-event",   (M)
  "eventSchemaVersion"    : "1.0"            (M)

  "event": {
         “cmHandleId” : “cmhandle-001”,(M)
         "newValues" : {                     (O)
             “cmHandleState”  : “READY”,    (O)
             “dataSyncEnabled” : “TRUE”,     (O)
             “cmhandleProperties” : [        (O)
                          “someProperty-1” : “Initial property value 1”, (O)
                          “someProperty-2” : “Initial property value 2”  (O)
                   ]
         }   
    }
}

kieran mccarthy  Please correct if something is wrong.

[kieran]  This looks good - the given eventSource may change but the format is fine.

7Agree on the topic name where the events need to be published.

Previously we configured the topic name as "ncmp-events" , but since now we are calling these events as LcmEvents , I was wondering if the topic should reflect the same.

Toine Siebelink  suggested "ncmp-lcm-events" as an alternative name.

kieran mccarthy Tony Finnerty  your thoughts on this ? 

Priyank Maheshwari There is no reason to separate cm data events from these lcm events.  They are all ncmp events and the consumer may determine the nature of the event from eventType/eventSchema.  Sugegst to send them on ncmp-events topic.

8How will the DELETING event look like ? 
It should be same as UPDATE event or some other handling is needed?


Code Block
titleDELETING event
{
  "eventId"                : "00001",    
  "eventCorrelationId      : "cmhandle-001"      
  "eventTime"              : "2021-11-16T16:42:25-04:00",
  "eventSource"            : "org.onap.ncmp",                                 
  "eventType"              : "org.onap.ncmp.cmhandle-lcm-event.update",   
  ”eventSchema”            : “org.onap.ncmp:cmhandle-lcm-event", 
  "eventSchemaVersion"    : "1.0"  
  
  "event": {
         “cmHandleId” : “cmhandle-001”
         "oldValues" : {
    			 “cmHandleState”  : “READY”
              }
          "newValues" : {
	    	     “cmHandleState”  : “DELETING”,
           }   
       ]
    }
}



I just had this doubt and wanted to clarify.

kieran mccarthy  Toine Siebelink  Tony Finnerty 


//priyank It will behave the same as update event. we discussed and clarified.

Priyank Maheshwari The cmhandle LOCKED state should also be reflected in the event on the left (but ONLY if cmhandle LOCKED support is already implemented)

Overview

This page is for deciding the structure of the proposed "detail" section which needs to be introduced in the NcmpEvent payload.
Refer : CPS-858 Define Notifications on CM Handle Add (Ready) & Delete  #8

...

Code Block
titleCurrent NcmpSchema
collapsetrue
{
  "eventId"                  : "00001",    
  "eventCorrelationId      : "cmhandle-001",       
  "eventTime"              : "2021-11-16T16:42:25-04:00",
  "eventSource"            : "org.onap.ncmp",                                 
  "eventType"              : "org.onap.ncmp.cmhandle-lcm-event",   
  ”eventSchema”            : “org.onap.ncmp:cmhandle-lcm-event:v1",   

  "event": {
     “cmhandle-state”        “cmHandleState”     : “READY”,

      "cmHandleId"       : "cmhandle-001",
      “cmhandle-properties” : [
          {“public-property-name-1” : “public-property-value-1”},
          {“public-property-name-2” : “public-property-value-2”}     
       ]
    }
}

Proposed

...

events

Option #1 Structured DetailsOption #2  Only add 'lastCmHandleState'Option #3 'Details' consist of a property map
Excerpt


Code Block
title
Create Event
collapsetrue
{
 
  "eventId"
                 
               : "00001",
    
    
 
 
 "
eventCorrelationId 
eventCorrelationId     : "cmhandle-001"
,         
      
  "eventTime"
             
             : "2021-11-16T16:42:25-04:00",
 
  "eventSource"
           
           : "org.onap.ncmp",
                                  
                                 
  "eventType"
             
             : "org.onap.ncmp.cmhandle-lcm-event.create", 
     ”eventSchema”         
  
  ”eventSchema”           : “org.onap.ncmp:cmhandle-lcm-event
:v1",     
",  
  "eventSchemaVersion"    : "1.0" 

  "event": {
     “cmhandle-state”     : “READY”,       "cmHandleId" : "cmhandle-001",      “cmhandle-properties” : [           {“public-property-name-1” : “public-property-value-1”},           {“public-property-name-2” : “public-property-value-2”}             ],      "detail": {          "detailMessage" : "sample message about the event",  
         “cmHandleId” : “cmhandle-001”,
         "newValues" : {                      # include ALL cmhandle metadata attributes in newValues section
             “cmHandleState”  : “ADVISED”, 
             “dataSyncEnabled” : “TRUE”,
             “cmhandleProperties” : [
                          “someProperty-1” : “Initial property value 1”,
                          “someProperty-2” : “Initial property value 2”
                   ]
         
"lastCmHandleState"
} 
:
 
"ADVISED"
 
 

 
 
 
 
 
 
 
 }
    
}
}


Code Block
title
title
Update Event
collapsetrue
{
 
 
 "eventId"
                 
                : "00001",
    
    
 
 
 "
eventCorrelationId 
eventCorrelationId      : "cmhandle-001"
,         
      
  "eventTime"
             
              : "2021-11-16T16:42:25-04:00",
 
  "eventSource"
           
            : "org.onap.ncmp",
                                  
                                 
  "eventType"
             
              : "org.onap.ncmp.cmhandle-lcm-event.update",
     ”eventSchema”         
   
  ”eventSchema”            : “org.onap.ncmp:cmhandle-lcm-event
:v1",     
", 
  "eventSchemaVersion"    : "1.0"  
  
  "event": {
     “cmhandle-state”     : “READY”,      "last-cmhandle-state" : "ADVISED",       "cmHandleId" : "cmhandle-001",      “cmhandle-properties” : [           {“public-property-name-1” : “public-property-value-1”},           {“public-property-name-2” : “public-property-value-2”}             ]     } }
Code Block
         “cmHandleId” : “cmhandle-001”
         "oldValues" : {
    			 “cmHandleState”  : “ADVISED”,
                 “dataSyncEnabled” : “FALSE”, 
                 “cmhandleProperties” : [
                          “someProperty-0” : “ This property will be updated”,
                          “someProperty-1” : “ This property will be deleted”,
              }
          "newValues" : {
	    	 “cmHandleState”  : “READY”,
             “dataSyncEnabled” : “TRUE”,  
             “cmhandleProperties” : [
                          “someProperty-0” : “ This property has been updated”,
                          “someProperty-2” : “ This property is newly added to the cmhandle”
                   ]
           }   
       ]
    }
}


Code Block
titleDelete Event
collapsetrue
{
  "eventId"
 
                : "00001",    
  "eventCorrelationId      : "cmhandle-001",       
  "eventTime"              : "2021-11-16T16:42:25-04:00",
  "eventSource"            : "org.onap.ncmp",                                 
  "eventType"              : "org.onap.ncmp.cmhandle-lcm-event.delete",   
  ”eventSchema”            : “org.onap.ncmp:cmhandle-lcm-event
:v1
", 
  
 
 
 
 "
event
eventSchemaVersion"
:
 
{
 
     “cmhandle-state” 
 
 
 
 
:
“READY”,
 
      "cmHandleId" : "cmhandle-001",      “cmhandle-properties” : [
"1.0"   
     
 

 
 
  {“public-property-name-1” : “public-property-value-1”},           {“public-property-name-2” : “public-property-value-2”}             ],    “detail” : [           {“lastCmHandleState” : “ADVISED”},           {“sampleMessage” : “some message”}             ]     
 "event": {
        “cmHandleId” : “cmhandle-001”    
  }
}