...
- Change Management (CM) Schedule Optimizer API - Definition of the interface to the schedule optimization manager. (REST)
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.
CMSO API Swagger Pages
Children Display |
---|
Request / Response Examples
Updated CMSO Create Schedule Request
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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 API Swagger Pages
Children Display |
---|
...
CMSO Optimization Engine Interface Input
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
numElements = 5;
maxTime = 5;
noConflict = [|
true , true , true , true , true
| true , true , true , true , true
| false , true , false , true , false
| false , false , false , false , false
| true , false , true , false , true
|];
slotCapacity = [1, 2, 1, 3, 4];
|
This request will represent the information gathered by the Scheduler Optimizer to be passed to the Mini Zinc schedule optimizer engine.
- numElements the number elements to be scheduled
- maxTime is the index of last possible time-slot for scheduling (total number of slots in the noConflict array)
- noConflict reflects the availability of the elements within change window. Each row defines the availability of an element. Each column represents a time slot within the user provided change window. Each timeslot is equivelent to the max duration of a single change.
- slotCapacity represents the concurrency limit for each of the time slots. In Dublin, for VNFs, each entry will be equal to the concurrency limit provided in the create schedule request.
CMSO Optimization Engine Interface Output
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
results:
result:
num_scheduled: 0
total_completion_time: 0
element_slot: |
1,0
2,0
3,0
4,0
5,0
result:
num_scheduled: 1
total_completion_time: 2
element_slot: |
1,0
2,0
3,2
4,0
5,0
result:
num_scheduled: 4
total_completion_time: 8
element_slot: |
1,2
2,1
3,2
4,0
5,3
elapsed_millis: 3400 |
...