Should all the events have same kafka headersHeaders
kieran mccarthy Possibly Common (base) set of headers but mandatory aspect might differ. In practice we might need a separate headers (schema?) for each event
4
Clarify the format of the version eventSchemaVersion
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.
We cannot override the mandatory/optional parameter from the Parent schema.
Toine Siebelink agrees to go ahead with separate schema/headers per event. There will be some duplication but it will have its advantage when versioning.
11
Is anyone using Async Request feature?
See
Jira Legacy
server
System Jira
serverId
4733707d-2057-3a0f-ae5e-4fd8aff50176
key
CPS-1660
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 fiXing the legacy schema(s) See decision on issue #7
12
Do 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
13
AVC Subscription Event (DMI → NCMP) (events #3)
Want to understand what 'data' is datatype referring to 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 kieran mccarthy updated #3 is ON HOLD to analyse further.
Agreed with Toine Siebelink on that Priyank Maheshwari will look into this from now as they are working on something related to this.
The unique id identifying the event generated by DMI
x
X
Mandatory
. Generated by DMI-Plugin
standard (time)
eventCorrelationId
string
The request id passed by NCMP
x
X
Mandatory. This is requestId that NCMP sent to client as an ACK. Example : “request-1234" (UUID)
extensions
eXtension (correlationid)
eventTarget
string
The destination topic of the client
x
X
Mandatory. TBC
example
Example: my-topic
extensions
eXtension (
target TBC
destination)
source
string
The source of the event
Optional. Example : dmi-plugin:enm-1 (dmi service name)
eventTime
string
The timestamp when original event occurred
x
X
Optional. The timestamp should follow that onhttps://www.rfc-editor.org/rfc/rfc3339#section-5. This follows ISO 8601 and is what is used/referenced in3GPP 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)
eventType
string
The type of the event
x
X
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)
eventSchema
string
The event schema for async request response events
x
X
Mandatory. The Convention of eventType and Schema names is under discussion, see open issue #17 on CPS-1515 Spike
standard (dataschema)
eventSchemaVersion
string
The event schema version for async request response events
x
X
N/A included in 'dataschema'
event
Event
The payload of an event
x
X
java object not yet defined by schema, see issue #2
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 eXternal events we have in CPS , NCMP and DMI Plugin.
Cloud events will be taking care of the fields which are part of kafka headers Headers or part of the actual payload (fields other than "data" are sent as kafka headers Headers)
These CNCF cloud events will be applied to all the events listed in above sections (LCM , DMI Data AVC etc.)
Mandatory - This is the version of the cloud events
eventType
type
.withType()
Mandatory
eventTime
time
.withTime()
Optional (could be Mandatory for
eventSchema
dataschema
.withDataSchema()
Optional includes the version of the schema
datacontenttype
withDataContentType()
application/json
Optional
eventCorrelationId
correlationid
.withExtensionwithEXtension()
Optional This will be part of the extensions 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
data
.withData(json TBC)
Mandatory actual event/payload now would be under "data" field.