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.
- Topology Service API Swagger
- 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)
Engine API - Definition of the interface to the schedule optimization engine. Minizinc-based scheduler optimizer engine is targeted for Dublin. (REST?)
Image Removed
Request / Response Examples
Updated CMSO Create Schedule Request
Code Block |
---|
title | Create Schedule Request Example |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"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:
...
CMSO Schedule Optimizer Request
Code Block |
---|
title | Optimizer Request |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"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"
}
]
}
]
}
}
|
The message is a representative of an Scheduler Optimizer Request that is derived from the Create Schedule request. The Schedule Optimizer will use the following APIs to retrieve the data necessary to invoke the Schedule Optimizer Engine:
- Policy API -
- Topology Service
- Ticket Management Service
Note that the commonData and elementData structures provide a means for passing carrier specific information to the Topology and Ticket Management interfaces which are necessarily carrier specific implementations.
CMSO Schedule Optimizer Response
...
title | Optimizer Response |
---|
linenumbers | true |
---|
collapse | true |
---|
TBD - Dependent upon the response from Optimizer Engine
CMSO Topology Service Request
Code Block |
---|
title | Topology Service Request |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"topologyRequest": {
"id": "<uuid>",
"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"
}
]
}
]
}
}
|
CMSO Topology Service Response
Code Block |
---|
title | Topology Service Response |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"topologyResponse": {
"id": "<uuid>",
"commonData":
[{
"name": "requestType",
"value": "VNF Config Update"
}, {
"name": "policies",
"value": ["vertical", "localMaintenanceWindow"]
}
],
"elements":
[{
"elementId": "nodeid1",
"lat": 32.000,
"lon": -71.0000,
"requiredElements": ["pserverid1"],
"failoverElements": [],
"elementData":
[{
"name": "ticketManagementId",
"value": "33333-333a-dsfa-dsfadsfadsfdsfdasfdaf"
}, {
"name": "id",
"value": "33333333adsfadsfadsfadsfdsfdasfdaf"
}
]
}, {
"elementId": "pserverid1",
"lat": 32.000,
"lon": -71.0000,
"relatedElements": ["nodeid1"],
"elementData":
[{
"name": "ticketManagementId",
"value": "33333-333a-dsfa"
}, {
"name": "id",
"value": "33333333adsfa"
}
]
},
]
}
}
|
CMSO Ticket Management - Active Tickets Request
Code Block |
---|
title | Active Tickets Request |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"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"
}
]
}
]
}
}
|
CMSO Ticket Management - Active Tickets Response
Code Block |
---|
title | Active Tickets Response |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"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"
}
]
}
}
}
}
|
CMSO Optimization Engine Interface Request
...
title | Optimization Engine Request |
---|
linenumbers | true |
---|
collapse | true |
---|
CMSO Optimization Engine Interface Response
...
The existing CMSO Create Schedule API will be deprecated in favor of the CMSO Create Optimized Schedule API. This new API will enable providing customized information to the schedule optimizer three new APIs.
The interface to the Change Management (CM) Schedule Optimizer Engine is not a REST API but rather a internal definition of the input/output to the MiniZinc based schedule optimizer engine.targeted for Dublin.
Image Added
CMSO API Swagger Pages
Child pages (Children Display) |
---|