Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Below is the list of solvers used in OOF and its usage. The Route Optimiser Optimizer package will be used for the MDONS use case as well.
  2. Policy is not going to be involved to list the constraints for now.
  3. Once config policies are defined for MDONS use case , OOF wil will fetch these policies to get certain other constraints and apply them while running the algorithm.

...

  1.  If two links between two controllers have the same specification then minizinc automatically chooses one. The implementation for Guilin release is based out of this logic.

Existing Solvers and Usage


SolverUsage
License OptimizerVNF license optimization
PCI OptimizerPci optimization
Placement OptimizerVNF placement optimization
Slice OptimizerSlice selection and instantiation optimization
Route Optimizer

Perform the route calculations and return the vpn-bindings

for CCVPN use case

...

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyOPTFRA-

...

Existing Solvers and Usage

...

Perform the route calculations and return the vpn-bindings

for CCVPN use case

753

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyOPTFRA-820

Sequence Diagram



Request from SO or SDNC

Code Block
titleIDL request
collapsetrue
API: POST /api/oof/mdons/route/v1

BODY:
{ 
   "requestInfo":{
      "transactionId":"xxx-xxx-xxxxxxx",
      "requestId":"yyy-yyy-yyyyyyy",
      "callbackUrl":"",
      "sourceIdcallbackHeader": "SDNC",
      "requestTypesourceId":"SDNC",
      "requestType":"create",
      "numSolutions":1,
      "optimizers":[
         "route"
      ],
      "timeout":600
   },
   "routeInfo":{
      "routeRequest":{
         "srcDetails":{
            "interfaceId":"interface-id-1int19",
            "nodeId":"node-1pnf1",
            "controllerId":"Virtuora-TAPI1Controller1"
         },
         "dstDetails":{
            "interfaceId":"interface-id-2int20",
            "nodeId":"node-2pnf4",
            "controllerId":"Virtuora-TAPI2Controller3"
         },
         "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.

...

Code Block
languagetext
titleRoute Selection Response
collapsetrue

{
   "transactionId 
            "requestId":"123456",
   "requestId":"789101",
   "requestStatus":"completed",
   "statusMessage":"success",
   "solution":{
      "startTime":"2016-10-01T00:30+01:00",
      "finishTime":"2016-10-01T00:40+01.00",
      "routeInfo":[
         {
            "serviceRoute":[
               {
                  "srcInterfaceId":"id20",
                  "destInterfaceId":"id8"
               },
               {
                  "srcInterfaceId":"id9",
                  "destInterfaceId":"id10"
               },
               {
                  "srcInterfaceId":"id11",
                  "destInterfaceId":"id21"
               }
            ],
            "linkList":[
               "IDL-6",
               "IDL-7"
            ]
         }
      ]
   }
}
xxx-xxx-xxx,
            "transactionId":"yyy-yyy-yyy",
            "statusMessage":"SUCCESS",
            "requestStatus":"accepted",
            "solutions":{
                "routeInfo":{
                "serviceRoute":[
                    {
                     "srcInterfaceId":"int19",
                     "dstInterfaceId":"int1",
                     "controllerId":"Controller1"
                },
                    {
                     "srcInterfaceId":"int3",
                     "dstInterfaceId":"int4",
                     "controllerId":"Controller2"
                },
                    {
                     "srcInterfaceId":"int5",
                     "dstInterfaceId":"int20",
                     "controllerId":"Controller3"
                }
                ],
               "linkList":[
                    "link1",
                    "link2"
                ]
                }
           }
        }

State Diagram

OOF Impacts

  1. A new api should be defined in the osdfapp.py class in the optf-osdf repository for the MDONS route selection.
  2. Under the Route Optimizer section a new class has to be added to handle the MDONS route selection.
  3. The standard minizinc template which gives the shortest path in a graph data structure will be used for this use case, same as the CCVPN use case.

...