Versions Compared

Key

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

Table of Contents

References

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-2299
 

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


IssueNotes Decision




Requirements

Functional


InterfaceRequirementAdditional InformationSignoff
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
title3GPP standard schemas for notifyMOICreation, notifyMOIDeletion, notifyMOIAttributeValueChanges and notifyMOIChanges
{
	"$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"
		},
		"NotifyCreateChangeEvent": {
			"$ref": "#/definitions/NotifyCreateChangeEvent"
		},
		"NotifyDeleteChangeEvent": {
			"$ref": "#/definitions/NotifyDeleteChangeEvent"
		},
		"NotifyAttributeValueChangeEvent": {
			"$ref": "#/definitions/NotifyAttributeValueChangeEvent"
		},
		"NotifyChangesEvent": {
			"$ref": "#/definitions/NotifyChangesEvent"
		}
	},
	"definitions": {
		"NotifyCreateChangeEvent": {
			"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-create-change-event-schema:1.0.0",
			"description": "The payload of notifyMOICreation event",
			"type": "object",
			"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyCreateChangeEvent",
			"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
		},
		"NotifyDeleteChangeEvent": {
			"$id": "urn:cps:org.onap.cps.ncmp.events._3gpp:notify-delete-change-event-schema:1.0.0",
			"description": "The payload of notfifyMOIDeletion event",
			"type": "object",
			"javaType": "org.onap.cps.ncmp.events._3gpp.NotifyDeleteChangeEvent",
			"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 notfifyMOIAttributeValueChanges 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 notfifyMOIChanges 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


ScenarioExpected BehaviorNotesSignoff
1



Characteristics  → CPS-2329


ParameterExpectationNotesSignoff





Out of Scope


Solution Proposal