Versions Compared

Key

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

Table of Contents

Overview

Jira LegacyserverSystem JiracolumnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolutioncolumnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolutionserverId4733707d-2057-3a0f-ae5e-4fd8aff50176key

Table of Contents

Overview

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1628

  • This page gives a description of CPS events including their fields
  • Events will be split into events and Headers

...

#Short NameSourceDestinationImpl. StatusNotesFull Schema NameDiagram Ref.
1LCM EventNCMPClient AppsIn UseLife Cycle Management Events, when cmHandles are added or removedcps:org.onap.ncmp.cmhandle.lcm-event:v1CM-Handle State Changes and Notifications Overview#Notificationhandlingincode
2DMI Data AVC EventDMINCMPImplemented, Not in useAttribute Value Change in configuration management (CM) data.cps:org.onap.cps.ncmp.events:avc-event-schema:v15 in CPS Data Notifications Overview#ComponentDiagram
3AVC Subscription Create EventClient NCMP & DMIsImplemented, Not in useCreate Event Only

cps:org.onap.cps.ncmp.events:avc-subscription-event:v1

7 in CPS Data Notifications Overview#ComponentDiagram
4DMI Async Request Response EventDMINCMPIn UseDMI passes response onto Kafka topic specified by client.

cps:org.onap.cps.ncmp.events:dmi-async-request-response-event-schema:v1

3b → 4a in CPS-821 Spike: Support Async read-write operations on CPS-NCMP interface#ProposedDesign
5NCMP Async Request Response EventNCMPClient AppsIn UseForward No.4 to client specified topic

cps:org.onap.cps.ncmp.events:ncmp-async-request-response-event-schema:v1

4b → 5 in CPS-821 Spike: Support Async read-write operations on CPS-NCMP interface#ProposedDesign
6Bulk Response Event (Internal)DMINCMPIn ProgressInternal Kafka topiccps:org.onap.cps.ncmp.event:dmi-async-bulk-response-event-schema:v15 in CPS-1515: Spike: Support Multiple CM-Handles for NCMP Get Operation (batch Data operations)#BulkRequestMessageFlow
7

Bulk Response Event (Client)

NCMP Client AppsIn ProgressForwarding the DMI responses to the client topiccps:org.onap.cps.ncmp.event:ncmp-async-bulk-response-event-schema:v16 in CPS-1515: Spike: Support Multiple CM-Handles for NCMP Get Operation (batch Data operations)#BulkRequestMessageFlow

#1 LCM Event (NCMP → Client Apps)

...

Expand
titleLCM Event Details

Current LCM Event Object

FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
eventIDstringThe unique id identifying the eventX
Mandatorystandard (id)
eventCorrelationIdstringThe id identifying the event.  In LCMEvent this is always a cmhandleIdX
Optional
(extension fields will be optional now)
extension (correlationid)
eventTimestringThe timestamp when original event occurredX
Mandatorystandard (time)
eventSourcestringThe source of the eventX
Mandatorystandard (source)
eventTypestringThe type of the eventX
Mandatorystandard (type)
eventSchemastringThe schema that this event adheres to. X

Mandatory e.g. cps:org.onap.ncmp.cmhandle.lcm-event:1.0.0

standard (dataschema)
eventSchemaVersionstring

The version of the schema that this event adheres to

X

Mandatory e.g v1.0

N/A included in 'dataschema'
eventEventThe payload of an event
XMandatorystandard (data)
N/AN/AThe version of CNCF SpecificationX
Specified by CNCF (value hardcoded)

standard (specversion)

Type:Event (cps:org.onap.ncmp.cmhandle.lcm-event:v1)

FieldTypeDescriptionHeaderPayloadNotes
cmHandleIdstringcmHandle id
X
oldValuesValues

Values that represents the state of a cmHandle


XDefined by values object below
newValuesValuesValues that represents the state of a cmHandle
XDefined by values object below

Type:Values

FieldTypeDescriptionHeaderPayloadNotes
dataSyncEnabledstringcmHandle id
X
cmHandleStatestring

State of cmHandle


XEnum:  ["ADVISED", "READY", "LOCKED", "DELETING", "DELETED"]
cmHandlePropertiesobjectcmHandle properties
XList of Java <String, String> Maps


...

Expand
titleDMI Data AVC Event

AVC Event Object

FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
eventIDstringThe unique id identifying the eventX
Mandatorystandard (id)
eventCorrelationIdstringThe id identifying the eventX
Optionalextension(correlationid)
eventTimestringThe timestamp when original event occurredX
Optionalstandard (time)
eventSourcestringThe source of the eventX
Optionalstandard (source)
eventTypestringThe type of the eventX
Mandatory (e.g. cps:org.onap.cps.ncmp.events:avc-event)standard (type)
eventSchemastringThe schema that this event adheres toX
Mandatory (e.g. cps:org.onap.cps.ncmp.events:avc-event-schema)standard (dataschema)
eventSchemaVersionstring

The version of the schema that this event adheres to

X
MandatoryN/A included in 'dataschema'
eventEventThe payload of an event

Mandatorystandard (data)

Type: Event (cps:org.onap.cps.ncmp.events:avc-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes

No Properties defined (entire event treated as single object) See open issue #1
Priyank Maheshwari  This is how the event will look like.

CPS-1065 Spike: CM data notifications from NCMP to applications including subscriptions#EventPayloadExample


...

AVC Subscription Event  (external Clients Apps  → NCMP) : ON HOLD - kieran mccarthy to analyze further 

Priyank Maheshwari  We need to revisit this schema and include the cloud events fields. (At the moment this doesn't have proper fields) 

Excerpt


Expand
titleAVC Subscription Event

Subscription Event Object

FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
versionstringThe event type versionX

included in dataschema
eventTypestring

The event type

X


standard (type)
source
NEW TBC, see issue #18


X
NEW  see decision #18, value <clientId> (same as in payload) TBCstandard (source)
eventEventThe payload for an eventX
Defined by event object belowstandard (data

Event Object (cps:org.onap.cps.ncmp.events:avc-subscription-event:v1)

FieldTypeDescriptionHeaderPayloadNotes
subscriptionSubscriptionThe subscription details
XDefined by subscription object below
dataTypeDataType

The datatype content


XDefined by dataType object below
predicatesPredicates

Additional values to be added into the subscription


XDefined by predicates object below

Type: Subscription

FieldTypeDescriptionHeaderPayloadNotes
clientIDstring

The client ID


X
namestring

The name of the subscription


X
isTaggedboolean

optional parameter, default is false


Xdefault: false

Type: DataType

FieldTypeDescriptionHeaderPayloadNotes
dataspacestring

The dataspace name


X
dataCategorystring

The category type of the data


X
dataProviderstring

The provider name of the data


X
schemaNamestring

The name of the schema


X
schemaVersionstring

The version of the schema


X

Type: Predicates

FieldTypeDescriptionHeaderPayloadNotes
targetsarray

CM Handles to be targeted by the subscription


X
datastorestring

datastore which is to be used by the subscription


X
Xpath-filterstring

filter to be applied to the CM Handles through this event


X




#4 DMI Async Request Response Event (DMI → NCMP)

...

This event is for the asynchronous responses  from DMI to NCMP following (synchronous) requests (from NCMP) specifying a (response) topic. See 3b → 4a in CPS-821 Spike: Support Async read-write operations on CPS-NCMP interface#ProposedDesign

Expand
titleDMI Async Request Response Event

DmiAsyncRequestResponse Event Object

FieldTypeDescriptionHeaderPayload NotesCloudEvents Mapping
eventIDstringThe unique id identifying the event generated by DMIX

standard (id
eventCorrelationIdstring

The request id passed by NCMP

X

extensions (correlationid)
eventTimestringThe timestamp when original event occurredX

standard (time
eventTargetstringThe target of the eventX

extensions (target)
eventTypestringThe type of the eventX

standard (type
eventSchemastring

The event schema for async request response events

X

standard (dataschema
eventSchemaVersionstring

The event schema version for async request response events

X

N/A included in 'dataschema'
eventSourcestringThe source of the eventX

standard (source
eventContentEventContentThe payload of an event

The name of this fields is inconsistent with all other event schemas, see issue #6

standard (data) 

Type: EventContent (cps:org.onap.cps.ncmp.events:dmi-async-request-response-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes
response-data-schemastring

The schema of response data


X
response-statusstring

The status of the response


X
response-codestring

The code of the response


X
response-dataobjectThe data payload
Xcontains payload of type object


...

This event is for the asynchronous responses from NCMP to Client Apps following (synchronous) requests (from client) specifying a (response) topic. See 4b → 5 in CPS-821 Spike: Support Async read-write operations on CPS-NCMP interface#ProposedDesign


Expand
titleNCMP Async Request Response Event

NcmpAsyncRequestResponse Event Object

eventType type type
FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
eventIDstringThe unique id identifying the event generated by DMIX

standard (id
eventCorrelationIdstring

The request id passed by NCMP

X

extensions (correlationid)
eventTimestringThe timestamp when original event occurredX

standard (time
eventTargetstringThe target of the eventX

extensions (target)
eventTypestringThe type of the eventX

extensions standard (targettype) 
sourcestringThe source of the eventX
NEW  see decision #18, value 'ncmp'standard (source
eventSchemastring

The event schema for async request response events

X

standard (dataschema
eventSchemaVersionstring

The event schema version for async request response events

X

N/A included in 'dataschema'
eventEventThe payload of an event
XDefined by event object belowstandard (data
forwardedEventForwardedEventThe payload of a forwarded event
X

Relation to Event field unclear, do we need 2 events at all see issue #7

standard (data
See new proposal below

Type: Event (cps:org.onap.cps.ncmp.events:ncmp-async-request-response-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes
eventIDstringThe unique id identifying the event generated by DMI
XOnly in payload in v1 of the payload schema.  To be removed in v2 version (will be in the header only)
eventCorrelationIdstring

The request id passed by NCMP


Xas above
eventTimestringThe timestamp when original event occurred
Xas above
eventTargetstringThe target of the event
Xas above
eventTypestringThe type of the event
Xas above
eventSchemastring

The event schema for async request response events


Xas above
eventSourcestring

The source of the event


Xas above
response-data-schemastring

The received schema of response data


X
response-statusstring

The received status of the response


X


response-codestring

The received code of the response


X
response-dataobject

The data payload


Xcontains payload of type object

Type: forwardedEvent (cps:org.onap.cps.ncmp.events:ncmp-async-request-response-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes
eventIDstringThe unique id identifying the event generated by DMI
?Can NCMP put these in the header and remove them from the 'forwardedEvent'
eventCorrelationIdstring

The request id passed by NCMP


?as above
eventTimestringThe timestamp when original event occurred
?as above
eventTargetstringThe target of the event
?as above
eventTypestringThe type of the event
?as above
eventSchemastring

The event schema for async request response events


?as above
eventSchemaVersionstring

The event schema version for async request response events


?as above
eventSourcestring

The source of the event


?as above
response-data-schemastring

The received schema of response data


X
response-statusstring

The received status of the response


X


response-codestring

The received code of the response


X
response-dataobject

The data payload


Xcontains payload of type object

Proposed New Schema:

see

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1660

FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
eventIDstringThe unique id identifying the event generated by DMIX

standard (id)
eventCorrelationIdstring

The request id passed by NCMP

X

extensions(correlationid)
eventTimestringThe timestamp when original event occurredX

standard (time)
eventSourcestringThe source of the eventX
What value should contain in this? Needs clarification, see issue #8standard (source)
eventTypestringThe type of the eventX

standard (type)
eventSchemastring

The event schema for async request response events

X

standard (dataschema)
eventSchemaVersionstring

The event schema version for async request response events

X

N/A included in 'dataschema'
eventEventThe payload of an event
XDefined by event object belowstandard (data)

Type: Event (cps:org.onap.cps.ncmp.events:ncmp-async-request-response-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes
eventCorrelationIdstring

The request id passed by NCMP

X
as above @Toine asked to add this property.
responseStatusstring

The received status of the response


X


responseCodestring

The received code of the response


X
responseDataobject

The data payload


Xcontains payload of type object


#6

...

Data Operation (response) Event (DMI → NCMP)

Description

Batch (data) request will always result in asynchronous events (responses) sent to the client. This event is the response from DMI to NCMP. See 5 in CPS-1515: Spike: Support Multiple CM-Handles for NCMP Get Operation (bulk / batch operations)#BulkRequestMessageFlow

Expand
titleDMI Async Batch Response Event

BatchResponseEvent DmiDataOperationEvent Object

Excerpt


FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
eventIDstringThe unique id identifying the event generated by DMIX

Mandatory. Generated by DMI-Plugin

standard (id
eventCorrelationIdstring

The request id passed by NCMP

X
Mandatory. This is requestId that NCMP sent to client as an ACK.
example : “request-1234" (UUID)
extension (correlationid)
eventTargetstringThe destination topic of the clientX
Mandatory. TBC example: my-topicextension (destination)
sourcestringThe source of the event

OptionalMandatory. example : dmi-plugin:enm-1 (dmi service name)standard (source) 
eventTimestringThe timestamp when original event occurredX

Optional. The timestamp should follow that on https://www.rfc-editor.org/rfc/rfc3339#section-5. This follows ISO 8601 and is what is used/referenced in 3GPP standards
example: 1985-04-12T23:20:50.52Z this represents 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC.

standard (time
eventTypestringThe type of the eventX
Mandatory. NCMP owns eventType that would be used by dmi-plugins
The Convention of eventType and Schema names is under discussion, see open issue #17 on  CPS-1515 Spike
standard (type
eventSchemastring

The event schema for async request response events

X
Mandatory.
The Convention of eventType and Schema names is under discussion, see open issue #17 on  CPS-1515 Spike
standard (dataschema
eventSchemaVersionstring

The event schema version for async request response events

X

N/A included in 'dataschema'
eventEventThe payload of an event
Xjava object not yet defined by schema, see issue #2standard (data
specversionStringVersion of CNCF specX
hardcoded value of 1.0standard (specversion)



Type: Event (cps:org.onap.cps.ncmp.event.async:dmi-asyncdata-batch-responseoperation-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes
No Properties defined (Entire event treated as single object)


#7

...

Data Operation (response) Event (NCMP → Client App)

Description

Batch (data) request will always result in asynchronous events (responses) sent to the client. This event is the response from DMI to NCMP. See 6 in CPS-1515: Spike: Support Multiple CM-Handles for NCMP Get Operation (bulk / batch operations)#BulkRequestMessageFlow

Expand
titleNCMP Async Batch Response Event - Client Topic

BatchResponseEvent NcmpDataOperationEvent Object

Xtype
FieldTypeDescriptionHeaderPayloadNotesCloudEvents Mapping
eventIDstringThe unique id identifying the event generated by DMIX

standard (id
eventCorrelationIdstring

The request id passed by NCMP

X

extensions (correlationid)
eventTimestringThe timestamp when original event occurredX

standard (time
eventTypestringThe type of the eventX

standard (type
sourcestringThe source of the eventX
NEW  see decision #18, value 'ncmp'standard (source
eventSchemastring

The event schema for async request response events

X

standard (dataschema
eventSchemaVersionstring

The event schema version for async request response events

X

N/A included in 'dataschema'
eventEventThe payload of an event
XJava object not yet defined by schema, see issue #2standard (data


Type: Event (cps:org.onap.cps.ncmp.event.async:ncmp-asyncdata-batchoperation-response-event-schema:v1)

FieldTypeDescriptionHeaderPayloadNotes
No Properties defined (Entire event treated as single object)


CNCF Cloud Event alignment

Introduction

CNCF CloudEvents is a specification for describing event data in common formats to provide interoperability across services, platforms and systems.

  • These cloud events will be applied to all the internal and external events we have in CPS , NCMP and DMI Plugin.
  • Cloud events will be taking care of the fields which are part of Headers or part of the actual payload (fields other than "data" are sent as Headers)
  • These CNCF cloud events will be applied to all the events listed in above sections (LCM , DMI Data AVC etc.)

...

  1. https://github.com/cloudevents/spec

  2. https://github.com/cloudevents/sdk-java
  3. https://mvnrepository.com/artifact/io.cloudevents
  4. examples : https://github.com/cloudevents/sdk-java/tree/main/Examples/kafka/src/main/java/io/cloudevents/Examples/kafka

Common Header Mapping

The table below shows how previously proposed headers should be mapped to pre-defined CNFC headers.

...

Before

...

After1

...

  1. /kafka

Common Header Mapping

The table below shows how previously proposed headers should be mapped to pre-defined CNFC headers.

...

N/Aspecversion  (default 1.0)eventTypetypewithType

Before

After1

CloudeEvent builder methodExample ValueNotes 

eventId

(ce_)id

.withId()
Mandatory

eventSource

(ce_)source

.withSource()
Mandatory

N/A

(ce_)specversion  (default 1.0)

.v1()1.0Mandatory  - This is the version of the cloud events

eventType

(ce_)type

.withType()
Mandatory

eventTime

(ce_)idtime

.withIdwithTime()
Optional (could be Mandatory for 

eventSourceeventSchema

(ce_)

source

dataschema

.withSourcewithDataSchema()Mandatory

Optional  includes the version of the schema


content-type2
withDataContentType()
application/jsonOptional
eventCorrelationId(ce_).v1()1.0Mandatory  - This is the version of the cloud eventscorrelationid.withExtension()

Optional This will be part of the extensions field in the cloud events and all the restrictions of the attribute field naming applies to it.

i.e these fields will be in the small case.

This is marked as optional as it only applies to some events.

event(ce_)data.withData(json TBC)
Mandatory

eventTime

(ce_)time

.withTime()Optional (could be Mandatory for 

eventSchema

(ce_)dataschema

.withDataSchema()

Optional  includes the version of the schema

content-type2
withDataContentType()
application/jsonOptionaleventCorrelationId(ce_)correlationid.withExtension()

Optional This will be part of the extensions field in the cloud events and all the restrictions of the attribute field naming applies to it.

i.e these fields will be in the small case.

This is marked as optional as it only applies to some events.

event(ce_)data.withData(json TBC)Mandatory actual event/payload now would be under "data" field.

...

actual event/payload now would be under "data" field.
  • Note 1 all cloud-event headers will be prefixed during serialization with 'ce_'  (this means when filtering on serialized Kafka-headers this prefix need to be applied)
  • Note 2 content-type is a a 'default' header name no 'wrapped' by CloudEvents and hence the inconsistency in names and that is does NOT have the 'ce_' prefix.

Common NCMP response staus code & message :

  • Status-code 0-99 is reserved for any success response
  • Status-code from 100 to 199 is reserved for any failed response. 

Status Code

Status Message

0
Successfully applied changes
100
cm handle id(s) is(are) not found
101
cm handle id(s) is(are) in non ready state
102
dmi plugin service is not responding
103
dmi plugin service is not able to read resource data