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 26 Next »

Table of Contents
 Click here to expand...


The following 3 APIs will be introduced in Dublin to support the OOF CMSO Architecture:

  • Topology Service API - Definition of the  interface to be implemented by individual carriers to support providing topology data necessary for CMSO to present conflict free scheduling of maintenance on a target network element. The ONAP implmentation of this interface will provide network topology information that is available in A&AI, however, the API will be designed to enable carriers to implement network topology data that is necessary to meet their scheduling needs.
    • Network elements required to be available in order to complete the maintenance on the target element. (REST) - Commonly referred to as vertical conflict avoidance.
    • Network elements required to be available to avoid network outages during the maintenance on the target element. - Commonly referred to as horizontal conflict avoidance.
  • Change Management (CM) Ticket Management API - Definition of the interface to be implemented by individual carriers to provide scheduled outages of network elements/assets returned by the Topolgy API to determine availabliilty. (REST)
  • Change Management (CM) Schedule Optimizer API  - Definition of the interface to the schedule optimization manager. (REST)
  • Change Management (CM) Schedule Optimizer Engine API  - Definition of the interface to the schedule optimization engine. Minizinc-based scheduler optimizer engine is targeted for Dublin. (REST?)

CMSO API Swagger Pages

Request / Response Examples

Updated CMSO Create Schedule Request

Create Schedule Request Example
{
	"domain": "ChangeManagement",
	"scheduleName": "3e828de1-c6b9-4782-b028-e2a98b0cce72",
	"userId": "onap-user",
	"scheduleId": "3e828de1-c6b9-4782-b028-e2a98b0cce72",
	"commonData": [{
			"name": "requestType",
			"value": "VNF Config Update"
		}, {
			"name": "policies",
			"value": ["vertical", "localMaintenanceWindow"]
		}
	],
	"schedulingData": {
		"additionalDurationInSeconds": 10,
		"changeWindows": [{
				"endTime": "2019-02-01T00:00:00Z",
				"startTime": "2019-03-01T00:00:00Z"
			}, {
				"endTime": "2019-04-15T00:00:00Z",
				"startTime": "2019-05-15T00:00:00Z"
			}
		],
		"normalDurationInSeconds": 100,
		"concurrencyLimit": 10,
		"elements":
		[{
				"elementId": "nodeid1",
				"elementData": [{
						"name": "ticketManagementId",
						"value": "33333-333a-dsfa-dsfadsfadsfdsfdasfdaf"
					}, {
						"name": "id",
						"value": "33333333adsfadsfadsfadsfdsfdasfdaf"
					}
				],
				"request": {
					"vnfName": "rdm5adbux8991v",
					"vnfInstanceId": "7fe2a239-52c8-40ec-866a-53815c802f09",
					"modelInfo": {
						"modelType": "vnf",
						"modelInvariantId": "a8880c9f-9454-4a1e-b856-b3c0569625de",
						"modelVersionId": "0bc86968-fe07-4453-a729-683fafef2607",
						"modelName": "rdm5adbux8991v",
						"modelVersion": "1.0",
						"modelCustomizationId": "4e3bbaba-5348-4d4c-9d27-11ff39958a84"
					},
					"cloudConfiguration": {
						"lcpCloudRegionId": "rdm5a",
						"tenantId": "71b9b87f2ad947fa9a19eac463558040"
					},
					"requestInfo": {
						"source": "VID",
						"suppressRollback": false,
						"requestorId": "mm018u"
					},
					"relatedInstanceList": [{
							"relatedInstance": {
								"instanceId": "d91b2d81-3e96-43b8-b111-527d3a934a6a",
								"modelInfo": {
									"modelType": "service",
									"modelInvariantId": "dd118927-8360-4a9a-959c-403386a12226",
									"modelVersionId": "f98b191f-2bb6-4881-a514-ac9132f26284",
									"modelName": "vDBE_Svc_E2E_DBE_vDBE_U",
									"modelVersion": "1.0"
								}
							}
						}
					],
					"requestParameters": {
						"payload": "{\"request-parameters\":{\"vnf-host-ip-address\":\"135.50.170.7\",\"vnf-name\":\"rdm5adbux8991v\"},\"configuration-parameters\":{\"node0_name\":\"rdm5adbux8999vm001\"}}"
					}
				}
			}
		]
	}
}



This example represents CMSO Create Schedule for Dublin release. Significant changes are:


  • Replacement of domainData with commonData name / value structure. This structure is used to provide carrier specific to all of the underlying interfaces, some of which are carrier specific (i.e. Topology and Ticket Management).
  • Inclusion of elementData name / value structure for every element to be changed.  This structure is used to provide carrier specific to all of the underlying interfaces, some of which are carrier specific (i.e. Topology and Ticket Management).
  • Move of callbackData from domainData structure to the request attribute for each element.   The request attribute represents the exact message to b provided to SO to initiate the change request.

CMSO Ticket Management - Active Tickets Request

Active Tickets Request
{
	"ticketManagementRequest": {
		"requestId": "<uuid>",
		"changeWindows":
		[{
				"endTime": "2019-02-01T00:00:00Z",
				"startTime": "2019-03-01T00:00:00Z"
			}, {
				"endTime": "2019-04-15T00:00:00Z",
				"startTime": "2019-05-15T00:00:00Z"

			}
		],
		"commonData":
		[{
				"name": "requestType",
				"value": "VNF Config Update"
			}, {
				"name": "policies",
				"value": ["vertical", "localMaintenanceWindow"]
			}
		],
		"elements":
		[{
				"elementId": "nodeId1",
				"elementData":
				[{
						"name": "ticketManagementId",
						"value": "33333-333a-dsfa-dsfadsfadsfdsfdasfdaf"
					}, {
						"name": "id",
						"value": "33333333adsfadsfadsfadsfdsfdasfdaf"
					}
				]
			}, {
				"elementId": "pserverid1",
				"elementData":
				[{
						"name": "ticketManagementId",
						"value": "33333-333a-dsfa"
					}, {
						"name": "id",
						"value": "33333333adsfa"
					}
				]
			}
		]
	}
}


This represents a request to determine the availability of the elements in the list. The results of the request to find the "active" tickets for the elements within the change windows provided will be used to identify when elements will not be available. "Active" tickets leaves it to the carrier will determine which tickets are appropriate to be used for determining availability.

CMSO Ticket Management - Active Tickets Response

Active Tickets Response
{
	"ticketManagementResponse": {
		"id": "<uuid>",
		"elementa": [{
				"elementId": "nodeid1",
				"tickets": []
			}, {
				"elementId": "pserverid1",
				"tickets": [{
						"ticketId": "2b385684-3eac-11e9-b210-d663bd873d93",
						"startTime": "2019-02-19T14:16:18Z",
						"endTime": "2019-02-19T20:16:18Z",
						"availability": "unavailable | partial | full"

					}, {
						"ticketId": "3d4afa7a-3eac-11e9-b210-d663bd873d93",
						"startTime": "2019-03-19T14:16:18Z",
						"endTime": "2019-03-19T20:16:18Z",
						"availability": "unavailable | partial | full"
					}
				]
			}
		}
	}
	}


The represents a response from the Active Tickets request that provides the ticket information necessary to determine element availability for the Schedule Optimizer Engine.

The start and end times and the availability enum are the attributes that will be significant to the schedule optimizer engine

  • unavailable - element is unavailable during this change 
  • partial - element is partially available (i.e. running degraded.)
  • available - element availability is not affected by this change

CMSO Optimization Engine Interface Request

Optimization Engine Request
 

This request will represent the information gathered by the Scheduler Optimizer to be passed to the Mini Zinc schedule optimizer engine.

CMSO Optimization Engine Interface Response

Optimization Engine Response
 

This request will represent the information returned to the Scheduler Optimizer from the Mini Zinc schedule optimizer engine.

  • No labels