Versions Compared

Key

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


Table of Contents


Expand

Table of Contents


...

AttributeRequired?CardinalityContentValuesDescription

requestInfo

Y

1

RequestInfo Object


The content of the RequestInfo object.

...

routeInfo

Attribute
Y
Required?
1
CardinalityContentValuesDescription

...

RouteInfo
The content of Router request object


RequestInfo Object

AttributeRequired?CardinalityContentValuesDescriptionrequestId
AttributeRequired?CardinalityContentValuesDescription

Synchronous Response Body

transactionId

Y

1

UUID/String


A unique

Id for

ID to track an ONAP transaction.

transactionId

requestId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

callbackUrl

Y

1

URL


The end point of a callback service where recommendations are posted.

statusMessage
callbackHeaderN1JSON blob
The header information a client expecting in a async callback.

sourceId

Y

1

String

Reasoning if a requestStatus is failure.

requestStatus

The unique ID of a client making an optimization call.

requestType

Y

1

String

accepted

create, update,

failed

delete

The

status

type of a request

.

Asynchronous Response Header

...

Accept

...

N

...

Determines the format of the body of the response. Valid value is “application/json”

...

Authorization

...

Y

...

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

...

Content-Type

...

Y

...

Determines the format of the request content. Only application/json is supported.

...

Content-Length

...

N

...

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

...

numSolutions

N

1

Integer


Expected number of solutions. numSolution can also be specified using an optimization query policies, where the default configured value is 1. The value from a request gets higher precedence over the value defined in a policy.

optimizers

Y

1..N

List of Strings

placement

A list of optimization services.

timeout

N

1

Integer


A tolerance window (in secs) for expecting solutions. Default is 600 secs.

RouteInfo Object

AttributeRequired?CardinalityContentValuesDescription

routeRequest

Y1RouteRequestInfo
The content of Router request object


RouteRequestInfo Object

AttributeRequired?CardinalityContentValuesDescription
srcPortY1RoutePortInfo
Source port info
destPortY1RoutePortInfo
Destination Port info

RoutePortInfo Object

AttributeRequired?CardinalityContentValuesDescriptionAdditional dependency Information
accessTopologyId
N1String
Access Topology IdAny one of this attribute MUST be provided in both source and destination RoutePortInfo object.
accessClientId
N1String
Client Id
accessProviderId
N1String

accessNodeId
N1String

accessLtpId
N1Integer

Synchronous Response Body

AttributeRequired?CardinalityContentValuesDescription

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if a requestStatus is failure.

requestStatus

Y

1

String

completed

accepted, failed

, pending

The status of a request.


solutions

Y

1

Solution Object

..N

List of RouteSolutionInfo


Solutions related to a request.

...

Route Solution Info

AttributeRequired?CardinalityContentValuesDescription
startTime
Y1Timestamp

finishTime
Y1Timestamp

VPNs
N0..NList of VPNInfo
List of VPN's

VPN Info

AttributeRequired?CardinalityContentValuesDescription

...

accessTopologyId
Y1String
Access Topology Id
accessClientId
Y1String

accessProviderId
Y1String

accessNodeId
Y1String

srcAccessLtpId
Y1Integer

dstAccessLtpId
Y1Integer

HTTP Response Code

HTTP CodeResponse PhraseDescription

201

Created

An optimization solution is found.

202

Accepted

An optimization request is accepted.

400

Bad request

Bad request.

401

Unauthorized

Request body is not compliant with the API definition.

404

Not found

The server cannot find the requested URI.

405

Method not found

The requested method is not supported by a server.

500

Internal server error

The server encountered an internal server error or timed out.

520Solver errorRequested number of solutions cannot be found.

Request Example


Code Block
languagejs
themeEclipse
titleOOF/PCI Route Optimization Request Example
linenumberstrue
collapsetrue
{
  "requestInfo": {
    "transactionId": "xxx-xxx-xxxx",
    "requestId": "yyy-yyy-yyyy",
    "callbackUrl": "https://wiki.onap.org:5000/callbackUrl",
    "sourceId": "",
    "requestType": "create",
    "numSolutions": 1,
    "optimizers": [
      "route"
    ],
    "timeout": 600
  },
  "routeInfo": {
    "routeRequest": {
      "srcPort": {
     {   "src-access-topology-idaccessTopologyId": "Topo113",
   "src-access-client-id     "accessClientId": "clientU12",
     "src-access-provider-id   "accessProviderId": "VDF1234",
        "src-access-node-idaccessNodeId": "Node123",
        "src-access-ltp-idaccessLtpId": "1345"
      },
      "dstPort": {
     {   "dst-access-topology-idaccessTopologyId": "Topo3421",
        "dst-access-client-idaccessClientId": "clientD123",
        "dst-access-provider-idaccessProviderId": "VDF3214",
    "dst-access-node-id": "node323",   "dst-access-ltp-idaccessNodeId": "3452node323",
   } }, }

Synchronous Response Example

Code Block
languagejs
themeEclipse
titleOOF/PCI Response Example
linenumberstrue
collapsetrue
{   "transactionIdaccessLtpId": "xxx-xxx-xxxx",3452"
     "requestId": "yyy-yyy-yyyy", }
  "requestStatus": "accepted", }
 "statusMessage": "" }
}

...

Synchronous Response Example


Code Block
languagejs
themeEclipse
titleOOF/PCI Route Optimization Response Example
linenumberstrue
collapsetrue
{
  "transactionId": "xxx-xxx-xxxx",
  "requestId": "yyy-yyy-yyyy",
  "requestStatus": "completedaccepted",
  "statusMessage": "success",
  "solutions": [
   	{
		 {
      "startTime": "2016-10-01T00:30+01:00",
		
      "finishTime": "2016-10-01T00:40+01.00",
		
      "VPNs": [
        {
          "access-topology-idaccessTopologyId": ”Topo123”"Topo123",
          "access-client-idaccessClientId": “client"client-123”123",
        "access-provider-id  "accessProviderId": “provider"provider-123”123",
          "access-node-idaccessNodeId": “node"node-123”123",
          "src-access-ltp-idsrcAccessLtpId": “ltp"ltp-src-123”123",
          "dst-access-ltp-iddstAccessLtpId": “ltp"ltp-dst-123”123"
        }
      ]
  ] } 	}
  ]
}

SDNC - OOF:

Calculate Route

Type : POST 

URL : /v1/route

Payload: 

OOF- AAI for retrieving topology information: 

1. Get the logical links as “operation-status = Up”

Method: GET URL: https://<AAI host>:<AAI port>/aai/v14/network/logical-links?operation-status="Up"

returns logical-links []

2. query for the name of the p-interface from the logical link.

logical-links [].get[0].relationship-list[0].relationship.relationship-key: "p-interface.interface-name"."relationship-value": "some name”

3. Search for the name of the pnffrom the urlof the p-interface and compare with the request from SDNC

...