Table of Contents |
---|
References
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Assumptions
We would like to ask EST, to put 4 schemas into the CPS repository. In this step, we will expose a Kafka topic, which will produce the ENM adapter's CM notifications in a standard 3GPP 28.532 format. Since this is an open source format, and in the future NCMP will provide this feature, we think CPS is the best place for these schemas. eric-oss-enm-notification-adapter already using ncmp-cps-events as a 3pp, so it would be a version uplift from our side. We will provide the schema JSON files and we well need a Java class from it that we can import and use that type.
...
Issues & Decisions
...
Requirements
Functional
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
Requirements
Functional
Interface | Requirement | Additional Information | Signoff | |
---|---|---|---|---|
1 | NCMP to update CM Data Notification Event Schema to comply with 3GPP standard |
|
The 3GPP standard document we are following in our current step is: https://www.etsi.org/deliver/etsi_ts/128500_128599/128532/18.02.00_60/ts_128532v180200p.pdf#%5B%7B%22num%22%3A151%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22FitH%22%7D%2C495%5D
The 4 notification type we would like to implement:
- notifyMOICreation - 12.1.1.4.1a.5 section in the document
- notifyMOIDeletion - 12.1.1.4.1a.6 section in the document
- notifyMOIAttributeValueChanges - 12.1.1.4.1a.7 in the document
- notifyMOIChanges - 12.1.1.4.1a.8 in the document
- MoiChange type - 12.1.1.4.1a.4 in the document
Compared to this schema: https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob;f=cps-ncmp-events/src/main/resources/schemas/async/data-operation-event-schema-1.0.0.json;h=c2915187c7143a95b607805219f0645e25044282;hb=HEAD
We would like to ask the following names for our types:
notifyMOICreation - NotifyCreateChangeEvent (org.onap.cps.ncmp.events._3gpp.NotifyCreateChangeEvent, or something similar)
notifyMOIDeletion - NotifyDeleteChangeEvent (org.onap.cps.ncmp.events._3gpp.NotifyDeleteChangeEvent or something similar)
notifyMOIAttributeValueChanges - NotifyAttributeValueChangeEvent (org.onap.cps.ncmp.events._3gpp.NotifyAttributeValueChangeEvent or something similar)
notifyMOIChanges - NotifyChangeEvent (org.onap.cps.ncmp.events._3gpp.NotifyAttributeValueChangeEvent or something similar)
Code Block | ||
---|---|---|
| ||
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-changes-schema:1.0.0",
"type": "object",
"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyChangesWrapper",
"properties": {
"CmNotificationTypes": {
"$ref": "#/components/schemas/CmNotificationTypes"
},
"SourceIndicator": {
"$ref": "#/components/schemas/SourceIndicator"
},
"Operation": {
"$ref": "#/components/schemas/Operation"
},
"Insert": {
"$ref": "#/components/schemas/Insert"
},
"NotifyCreateEvent": {
"$ref": "#/definitions/NotifyCreateEvent"
},
"NotifyDeleteEvent": {
"$ref": "#/definitions/NotifyDeleteEvent"
},
"NotifyAttributeValueChangeEvent": {
"$ref": "#/definitions/NotifyAttributeValueChangeEvent"
},
"NotifyChangesEvent": {
"$ref": "#/definitions/NotifyChangesEvent"
}
},
"definitions": {
"NotifyCreateEvent": {
"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-create-event-schema:1.0.0",
"description": "The payload of notifyMOICreation event",
"type": "object",
"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyCreateEvent",
"properties": {
"href": {
"type": "string"
},
"notificationId": {
"type": "integer"
},
"notificationType": {
"$ref": "#/components/schemas/CmNotificationTypes",
"const": "notifyMOICreation"
},
"eventTime": {
"type": "string",
"existingJavaType": "java.time.LocalDateTime",
"format": "date-time"
},
"systemDN": {
"type": "string"
},
"correlatedNotifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CorrelatedNotification"
}
},
"additionalText": {
"type": "string"
},
"sourceIndicator": {
"$ref": "#/components/schemas/SourceIndicator"
},
"attributeList": {
"$ref": "#/components/schemas/AttributeNameValuePairSet"
}
},
"required": [
"href",
"notificationId",
"notificationType",
"eventTime",
"systemDN"
],
"additionalProperties": false
},
"NotifyDeleteEvent": {
"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-delete-event-schema:1.0.0",
"description": "The payload of notifyMOIDeletion event",
"type": "object",
"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyDeleteEvent",
"properties": {
"href": {
"type": "string"
},
"notificationId": {
"type": "integer"
},
"notificationType": {
"$ref": "#/components/schemas/CmNotificationTypes",
"const": "notifyMOIDeletion"
},
"eventTime": {
"type": "string",
"existingJavaType": "java.time.LocalDateTime",
"format": "date-time"
},
"systemDN": {
"type": "string"
},
"correlatedNotifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CorrelatedNotification"
}
},
"additionalText": {
"type": "string"
},
"sourceIndicator": {
"$ref": "#/components/schemas/SourceIndicator"
},
"attributeList": {
"$ref": "#/components/schemas/AttributeNameValuePairSet"
}
},
"required": [
"href",
"notificationId",
"notificationType",
"eventTime",
"systemDN"
],
"additionalProperties": false
},
"NotifyAttributeValueChangeEvent": {
"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-attribute-value-change-event-schema:1.0.0",
"description": "The payload of notifyMOIAttributeValueChanges event",
"type": "object",
"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyAttributeValueChangeEvent",
"properties": {
"href": {
"type": "string"
},
"notificationId": {
"type": "integer"
},
"notificationType": {
"$ref": "#/components/schemas/CmNotificationTypes",
"const": "notifyMOIAttributeValueChanges"
},
"eventTime": {
"type": "string",
"existingJavaType": "java.time.LocalDateTime",
"format": "date-time"
},
"systemDN": {
"type": "string"
},
"correlatedNotifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CorrelatedNotification"
}
},
"additionalText": {
"type": "string"
},
"sourceIndicator": {
"$ref": "#/components/schemas/SourceIndicator"
},
"attributeListValueChanges": {
"$ref": "#/components/schemas/AttributeValueChangeSet"
}
},
"required": [
"href",
"notificationId",
"notificationType",
"eventTime",
"systemDN",
"attributeListValueChanges"
],
"additionalProperties": false
},
"NotifyChangesEvent": {
"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-changes-event-schema:1.0.0",
"description": "The payload of notifyMOIChanges event",
"type": "object",
"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyChangesEvent",
"properties": {
"href": {
"type": "string"
},
"notificationId": {
"type": "integer"
},
"notificationType": {
"$ref": "#/components/schemas/CmNotificationTypes",
"const": "notifyMOIChanges"
},
"eventTime": {
"type": "string",
"existingJavaType": "java.time.LocalDateTime",
"format": "date-time"
},
"systemDN": {
"type": "string"
},
"moiChanges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MoiChange"
}
}
},
"required": [
"href",
"notificationId",
"notificationType",
"eventTime",
"systemDN",
"moiChanges"
],
"additionalProperties": false
}
},
"components": {
"schemas": {
"AttributeNameValuePairSet": {
"existingJavaType": "java.util.Map",
"type": "object",
"description": "The key of this map is the attribute name, and the value the attribute value.",
"minProperties": 1
},
"AttributeValueChangeSet": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AttributeNameValuePairSet"
},
"description": "The first array item contains the attribute name value pairs with the new values, and the second array item the attribute name value pairs with the optional old values.",
"minItems": 1,
"maxItems": 2
},
"CmNotificationTypes": {
"type": "string",
"enum": [
"notifyMOICreation",
"notifyMOIDeletion",
"notifyMOIAttributeValueChanges",
"notifyEvent",
"notifyMOIChanges"
]
},
"SourceIndicator": {
"type": "string",
"enum": [
"RESOURCE_OPERATION",
"MANAGEMENT_OPERATION",
"SON_OPERATION",
"UNKNOWN"
]
},
"CorrelatedNotification": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"notificationIds": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"additionalProperties": false,
"required": [
"source",
"notificationIds"
]
},
"Operation": {
"type": "string",
"enum": [
"add",
"remove",
"replace"
]
},
"Insert": {
"type": "string",
"enum": [
"before",
"after"
]
},
"MoiChange": {
"type": "object",
"properties": {
"notificationId": {
"type": "integer"
},
"correlatedNotifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CorrelatedNotification"
}
},
"additionalText": {
"type": "string"
},
"sourceIndicator": {
"$ref": "#/components/schemas/SourceIndicator"
},
"op": {
"$ref": "#/components/schemas/Operation"
},
"path": {
"type": "string"
},
"insert": {
"$ref": "#/components/schemas/Insert"
},
"value": {
"type": "any"
},
"oldValue": {
"type": "any"
}
},
"additionalProperties": false,
"required": [
"notificationId",
"op",
"path"
]
}
}
},
"additionalProperties": false
} |
...
Error Handling
Scenario | Expected Behavior | Notes | Signoff | |
---|---|---|---|---|
1 |
Characteristics → CPS-2329
Parameter | Expectation | Notes | Signoff | |
---|---|---|---|---|