Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 80 Next »

Overview

CPS-1628 - Getting issue details... STATUS

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

Issues & Decisions

#DescriptionNotesDecision
1No Event properties defined for DMI AVC Event

Priyank Maheshwari will need to specify  and agreed event structure for DMI AVC Event with stakeholders  ie. provide Jira ticket


Event Body should be compatible with RFC8641

kieran mccarthy to confirm.

Priyank Maheshwari create JIRA to create the event body schema. 

CPS-1668 - Getting issue details... STATUS

2Bulk Operation events details have not yet be defined (just headers)

Sourabh Sourabh to provide Jira tickets

CPS-1658 - Getting issue details... STATUS

3Should all the events have same kafka headers

kieran mccarthy Posissbly Common (base) set of headers but mandatory aspect might differ. In practice we might need a separate headers (shema?) for each event

4Clarify the format of the version eventSchemaVersionv1 or 1.0

kieran mccarthy to check ORAN preference

5What to do with additional event headers (from DMI Plugins)

kieran mccarthy   if DMI produce Additional headers NCMP will discard those ie. not included in forwarded events

6Event(Content) field in DMI Async Request Response Event has inconsistent name (compared with other schemas)
  1. Add V2 file
  2. Deprecate V1
  3. Support both versions for a while
  4. Delete the V1 version (after some time )

CPS Team  Create a V2 of the schema and rename eventContent as event. Do it as part of the schema addition.

7NCMP Async Request Response Event (#5) contains both an Event and ForwardedEvent

ForwardedEvent is not wrapped inside Event but question now is if we need 2 events at all?!

Sourabh Sourabh  and RAVITEJA KARUMURI (EST)  can check how it is actually working and then we decide ( create a JIRA ticket )

Wiki for the Study on NCMPAsyncRequestResponse event schema

Conclusion: events not designed as proposed, very inconsistent. Never go a bug because these async events aren't used at all (confirmed by Csaba Koscis) Instead bulk request wil be used for topology use cases.

kieran mccarthy and team agreed to:

  1. Temporary disable the legacy async request feature (task created:  CPS-1694 - Getting issue details... STATUS )
  2. Aas part of a lower priority work items (but during Montreal) fix related events with learnings from the new batch-usecase. (task created CPS-1693 - Getting issue details... STATUS )
8Dmi Data AVC Event, use of eventSource field

Priyank Maheshwari wanted to store 'datastore' in this field but kieran mccarthy explained it to use for different purposes

kieran mccarthy Clients can use this field as per their requirements. 

9Can Kafka Headers be described with 'schema's owned and managed by NCMP 

POC to follow.  CPS-1657 - Getting issue details... STATUS

Defining header schema.

Integration of header with kafka.

Naming and versioning convention for the header schemas. 'id' 

Does the headers schema have a version too?!


 Priyank Maheshwari confirmed headers can be described with a separate schema.

Both header schema's and event schemas wil be published on https://docs.onap.org/projects/onap-cps/en/latest/cps-events.html

Header schema name and version will be maintained in the 'id' metadata field of header's schema . 

Defined Common Header schema. Extended it and used in a base class

10Depending #10 can schema inherit/extend a common schema for common headers

Commonly define them and then define what are mandatory(required) or optional as per the schema extending it.

If a field is not used in the extended schema then it should be able to handle it.

Extend the POC ( on #9 ) to cover this.

 Priyank Maheshwari did the POC and the conclusion of that was that :-

  • One schema can extend the other schema.
  • We cannot override the mandatory/optional parameter from the Parent schema. 

 PoC ongoing

Toine Siebelink agrees to go ahead with separate schema/header per event.  There will be some duplication but it will have its advantage when versioning. 

11Is anyone using Async Request feature?

See CPS-1660 - Getting issue details... STATUS we need to re-design event  #4 (Covers Point 6 as well) and #5 in a backward incompatible way. If no-one is using this feature right now (suspected) we can do this more easily/cheaper!

 Csaba Kocsis confirmed this is not used by Ericsson currently. No plans to use soon for single-cmhandle requests either (TBC). Need to decide priority (Csaba Kocsis to find out of fixing the legacy schema(s)
See decision on issue #7

12Do we need additionalProperties for DMI ASync Data Request respondes (events #4, #5)The original code populates a framework defined 'additionalProperties' field with a singel key-value pair: "response-data",{<json data>}. No other (private) properties are added either in DMI PLugin or NCMP code. The name is just coincidence and misleading. In fact this 'additionalProperties' field should NOT have been used at all!No, the new schema should NOT add  'additionalProperties' field at all use 'additionalProperties:no' in the schema
13AVC Subscription Event (DME → NCMP) (events #3)
  • Want to understand what consists of datatype definition under Subscription Event.
    • What value comes under 'schemaName' & 'SchemaVersion' of Datatype definition under AVC Subscription Event?
    • Reconfirmation needed on 'schemaName' & 'SchemaVersion'  should be in the payload?

In meeting or dd-mm-yyyykieran mccarthy updated #3 is ON HOLD to analyse further. 

Event Overview

#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 (bulk / batch operations)
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 (bulk / batch operations)

#1 LCM Event (NCMP → Client Apps)

Description

LCM (Life Cycle Management) Event. Sent by NCMP when the state of a CM Handle changes. For diagram see CM-Handle State Changes and Notifications Overview#Notificationhandlingincode

 LCM Event Details

Current LCM Event Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes (M=Mandatory, O=Optional)
eventIDstringThe unique id identifying the eventx
M
eventCorrelationIdstringThe id identifying the event.  In LCMEvent this is always a cmhandleIdx
eventTimestringThe timestamp when original event occurredx
M
eventSourcestringThe source of the eventx
M
eventTypestringThe type of the eventx
M
eventSchemastringThe schema that this event adheres to. x

M
E.g. cps:org.onap.ncmp.cmhandle.lcm-event

eventSchemaVersionstring

The version of the schema that this event adheres to

x

M

e.g v1.0

eventEventThe payload of an event

M

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
dataSyncEnabledstringcmHandle id
x
cmHandleStatestring

State of cmHandle


xEnum: 

["ADVISED", "READY", "LOCKED", "DELETING", "DELETED"]

cmHandlePropertiesobjectcmHandle properties
xList of Java <String, String> Maps

#2 DMI Data AVC Event  (ONAP DMI → NCMP)

Description

A normalized AVC Event  that ONAP DMI Plugin will send to NCMP. NCMP can process the event and update cached data if needed. See 5 in CPS Data Notifications Overview#ComponentDiagram
Other DMI Plugin might snet similar events, using same headers but different payload and value for 'eventSchema' Depending on the AVC subscription details those events might or might not be forwarded to the Client Apps.

 DMI Data AVC Event

AVC Event Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes (M=Mandatory, O=Optional)
eventIDstringThe unique id identifying the eventx
M
eventCorrelationIdstringThe id identifying the eventx
M
eventTimestringThe timestamp when original event occurredx
O
eventSourcestringThe source of the eventx
O Needs clarification, see issue #8
eventTypestringThe type of the eventx
M (e.g. cps:org.onap.cps.ncmp.events:avc-event)
eventSchemastringThe schema that this event adheres tox
M (e.g. cps:org.onap.cps.ncmp.events:avc-event-schema)
eventSchemaVersionstring

The version of the schema that this event adheres to

x
M (e.g. v1.0 orv2.0)
eventEventThe payload of an event

M

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
No Properties defined (entire event treated as single object) See open issue #1

#3 AVC Subscription Event (DME → NCMP)

Description

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

 AVC Subscription Event

Subscription Event Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
versionstringThe event type version

ekiemcc : What is this version?  This should be covered in the header now?
eventTypestring

The event type



ekiemcc : This is now covered by the header?  Is this needed any longer in the body?

Enum: 

["CREATE"]

eventEventThe payload for an event

Defined by event object below

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
clientIDstring

The client ID


x
namestring

The name of the subscription


x
isTaggedboolean

optional parameter, default is false


xdefault: false

Type: DataType

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
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)

Description

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

 DMI Async Request Response Event

DmiAsyncRequestResponse Event Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
eventIDstringThe unique id identifying the event generated by DMIx

eventCorrelationIdstring

The request id passed by NCMP

x

eventTimestringThe timestamp when original event occurredx

eventTargetstringThe target of the eventx

eventTypestringThe type of the eventx

eventSchemastring

The event schema for async request response events

x

eventSchemaVersionstring

The event schema version for async request response events

x

eventSourcestringThe source of the eventx

eventContentEventContentThe payload of an event

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

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
repsonse-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

#5 NCMP Async Request Response Event (NCMP → Client App)

Description

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


 NCMP Async Request Response Event

NcmpAsyncRequestResponse Event Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
eventIDstringThe unique id identifying the event generated by DMIx

eventCorrelationIdstring

The request id passed by NCMP

x

eventTimestringThe timestamp when original event occurredx

eventTargetstringThe target of the eventx

eventTypestringThe type of the eventx

eventSchemastring

The event schema for async request response events

x

eventSchemaVersionstring

The event schema version for async request response events

x

eventEventThe payload of an event

Defined by event object below
forwardedEventForwardedEventThe payload of a forwarded event

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

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
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


x
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)

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
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: CPS-1660 - Getting issue details... STATUS


FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
eventIDstringThe unique id identifying the event generated by DMI


eventCorrelationIdstring

The request id passed by NCMP




eventTimestringThe timestamp when original event occurred


eventSourcestringThe source of the event

What value should contain in this? Needs clarification, see issue #8
eventTypestringThe type of the event


eventSchemastring

The event schema for async request response events




eventSchemaVersionstring

The event schema version for async request response events




eventEventThe payload of an event

Defined by event object below

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
eventCorrelationIdstring

The request id passed by NCMP



as above @Toine asked to add this property.
responseStatusstring

The received status of the response




responseCodestring

The received code of the response




responseDataobject

The data payload



contains payload of type object

#6 Bulk 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

 Bulk Response Event

BatchResponseEvent Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
eventIDstringThe unique id identifying the event generated by DMIx

eventCorrelationIdstring

The request id passed by NCMP

x

eventTargetstringThe destination topic of the clientx

eventTimestringThe timestamp when original event occurredx

eventTypestringThe type of the eventx

eventSchemastring

The event schema for async request response events

x

eventSchemaVersionstring

The event schema version for async request response events

x

eventEventThe payload of an event
xjava object not yet defined by schema, see issue #2

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
No Properties defined (Entire event treated as single object)

#7 Batch 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

 Bulk Response Event - Client Topic

BatchResponseEvent Object

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
eventIDstringThe unique id identifying the event generated by DMIx

eventCorrelationIdstring

The request id passed by NCMP

x

eventTimestringThe timestamp when original event occurredx

eventTypestringThe type of the eventx

eventSchemastring

The event schema for async request response events

x

eventSchemaVersionstring

The event schema version for async request response events

x

eventEventThe payload of an event
xJava object not yet defined by schema, see issue #2

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

FieldTypeDescriptionKafka HeaderEvent Payload FieldNotes
No Properties defined (Entire event treated as single object)
  • No labels