...
Assumptions
- Below is the list of solvers used in OOF and its usage. The Route Optimiser package will be used for the MDONS use case as well.
- Policy is not going to be involved to list the constraints for now.
- Once config policies are defined for MDONS use case , OOF wil fetch these policies to get certain other constraints and apply them while running the algorithm.
Existing Solvers and Usage
Solver | Usage |
---|
license optimizer | VNF license optimization |
pci optimizer | Pci optimization |
placement optimizer | VNF placement optimization |
slice optimiser | Slice selection and instantiation optimisation |
route optimizer | Perform the route calculations and return the vpn-bindings for CCVPN use case |
Sequence Diagram
Image Added
Request from SDNC
Code Block |
---|
title | IDL request |
---|
collapse | true |
---|
|
API: POST /api/oof/mdons/route/v1
BODY:
{
"requestInfo":{
"transactionId":"xxx-xxx-xxxx",
"requestId":"yyy-yyy-yyyy",
"callbackUrl":"",
"sourceId":"SDNC",
"requestType":"create",
"numSolutions":1,
"optimizers":[
"route"
],
"timeout":600
},
"routeInfo":{
"routeRequest":{
"srcDetails":{
"interfaceId":"interface-id-1",
"nodeId":"node-1",
"controllerId":"Virtuora-TAPI1"
},
"dstDetails":{
"interfaceId":"interface-id-2",
"nodeId":"node-2",
"controllerId":"Virtuora-TAPI2"
},
"serviceRate":"ODU2"
}
}
} |
Note: "Callbackurl" field will be empty . Has been added to just follow the request format standard in OOF. When SDNC sends this request the field will be empty.
Response To SDN
Response Example
Code Block |
---|
language | text |
---|
title | Route Selection Response |
---|
collapse | true |
---|
|
{
"transactionId":"xxx-xxx-xxxx",
"requestId":"yyy-yyy-yyyy",
"requestStatus":"completed",
"statusMessage":"success",
"solution":{
"routeInfo":{
"serviceRoute":[
{
"srcInterfaceId":"",
"destInterfaceId":""
}
],
"linkList":[
"link1",
"link2"
]
}
}
}
|
State Diagram
View file |
---|
name | OOF_StateDiagram.gliffy |
---|
height | 400 |
---|
|
OOF Impacts
- A new api should be defined in the osdfapp.py class in the optf-osdf repository for the mdons route selection.
- Under the Route Optimizer section a new class has to be added to handle the mdons route selection.
- The standard minizinc template which gives the shortest path in a graph datastructure will be used for this use case, same as the ccvpn use case.
Algorithm Details
- Identify if the A and Z are from the same domain controller, if yes, linkName is set to null.
- If not from the same domain, retrieve all the interdomain links across both the controllers from AAI.
- The links will have information such as admin-state and rate. (Note: For now we are considering only these two fields to select the appropriate inter-domain-link).
- Based on the bandwidth required and available bandwidth and the status of the links (of the end points, NNIs), the appropriate link is chosen.
- The link name along with the names of NNI 1 and NN2 are sent to SDNC and SDNC/DG send the details request for service-creation to the domain controller(s).