...
- 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
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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"
}
]
}
]
}
}
|
This represents a sample request to the Topology Service request. The request is designed to enable providing carrier specific data the the Topology Interface (commonData and elementData) In this example, we are modeling that the carrier is using different IDs (ticketManagementId and id) to identify the same element within the ticket management and topology systems, respectively. It is up to the carrier's to define the contents of commonData and elementData to support their individual needs. Since ONAP Dublin is providing sample implementations of both of these interfaces, the same Id will be used in both services and this will be equal to the elementId.
CMSO Topology Service Response
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"id": "<uuid>",
"commonData":
[{
"name": "requestType",
"value": "VNF Config Update"
}, {
"name": "policies",
"value": ["vertical", "localMaintenanceWindow"]
}
],
"elements":
[{
"elementId": "nodeid1",
"elementLocation": {
"lat": 32.000,
"lon": -71.0000
},
"requiredElements": ["pserverid1"],
"constraintElements": [{
"elementId": "nodeid1",
"constraintType": "backupElement",
"constraintTypeMinimum": 1,
"optimizerAvailabilityMatrixName": "",
"availabilityMatrixScope": "NONE",
"elementAvailabilityAggreagation": true,
"elements": [
"nodeid1backup"
]
}
]
"elementData":
[{
"name": "ticketManagementId",
"value": "33333-333a-dsfa-dsfadsfadsfdsfdasfdaf"
}, {
"name": "id",
"value": "33333333adsfadsfadsfadsfdsfdasfdaf"
}
]
}
]
"referencedElements":
[{
"elementId": "pserverid1",
"elementLocation": {
"lat": 32.000,
"lon": -71.0000
},
"referencingElements": ["nodeid1"],
"elementData":
[{
"name": "ticketManagementId",
"value": "33333-333a-dsfa"
}, {
"name": "id",
"value": "33333333adsfa"
}
]
}, {
"elementId": "nodeid1backup",
"elementLocation": {
"lat": 32.000,
"lon": -71.0000
},
"referencingElements": ["nodeid1"],
"elementData":
[{
"name": "ticketManagementId",
"value": "33333-333a-dsfadsfadsfdsbackup"
}, {
"name": "id",
"value": "33333333adsfadsfadsfadsbackup"
}
]
}
]
}
|
This represents a response from the Topology Service Note the following attributes
- lat/lon - This is required for determining the time zone that the elements are serving - may be functionally replaced by timezone if available (TBD)
- requiredElements - these elements are required to be available in order to accomplish the requested change
- constraintElements - these represent elements that must be available to avoid a network outage during the requested change
- referencedElements - appearing on new elements returned by the topology server. The relatedElements id will appear in either requiredElements or failoverElements fo the elements to be changed.
These relationships will be important for determining element availability to provide to the Schedule Optimizer Engine.
CMSO Ticket Management - Active Tickets Request
...