This API is used by a PCI Handler Microservice as envisioned in the solution for the Casablanca 5G OOF-PCI Use Case
Table of Contents |
OOF/HAS Create/Update API
Interface Defintion | Description |
---|---|
URI | https://{host}:{port}/api/oof/pci/v1 |
Operation Type | POST |
Content-Type | application/json |
Header Name | Required? | Description |
---|---|---|
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. |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestInfo | Y | 1 | RequestInfo Object | The content of the RequestInfo object. | |
cellInfo | Y | 1 | CellInfo Object | The Content of the CellInfo object. |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
transactionId | Y | 1 | UUID/String | A unique ID to track an ONAP transaction. | |
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. | |
callbackHeader | N | 1 | JSON blob | The header information a client expecting in a async callback. | |
sourceId | Y | 1 | String | The unique ID of a client making an optimization call. | |
requestType | Y | 1 | String | create, update, delete | The type of a request |
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 | scheduling | A list of optimization services. |
timeout | Y | 1 | Integer | A tolerance window (in secs) for expecting solutions. |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
networkId | Y | 1 | String | Id of network requiring PCI optimization | |
cellIdList | Y | 1..N | List of Strings | List of cellIds triggering need for PCI optimization (e.g. potential confusion) | |
anrInputList | Y | 1..N | List of ANR Info objects | ANR inputs (list of 'removable' cells) | |
fixedPCICells | N | 1..N | List of Strings | List of cellIds whose PCI values are not allowed to be changed during PCI optimization | |
priorityTreatmentCells | N | 1..N | List of Strings | List of cellIds requiring priority/special treatment during PCI optimization | |
trigger | N | 1 | String | NbrListChange | Type of trigger causing need for PCI optimization |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
CellId | Y | 1 | String | Cell identity |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
CellId | Y | 1 | String | Cell Identity | |
RemovableNeighbors | Y | 1..N | List of strings | List of removable neighbor cells |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
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 | accepted, failed | The status of a request. |
Header Name | Required? | Description |
---|---|---|
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. |
Attribute | N | Attribute and respecrtive value that a client has sent in the callbackHeader field of a requerst. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
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 requestStatus is failure. | |
requestStatus | Y | 1 | String | completed, failed, pending | The status of a request. |
solutions | Y | 1..N | List of Solution Objects | Solutions related to a request. |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
networkId | Y | 1 | String | Id of network requiring PCI optimization | |
pciANRSolutions | Y | 1 | PCIANRSolution Object contents | A list of cellIds in the networkId with modified PCI values, and optionally a list of neighbors to be blacklisted |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
cellId | Y | 1 | String | cellId with modified PCI value | |
pciSolutions | Y | 1..N | List of pciSolution object | New PCI value for cellId | |
anrSolutions | Y | 1..N | List of ANRInfoobject | ANR solutions |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
cellId | Y | 1 | String | cellId with modified PCI value | |
pci | Y | 1 | Integer | New PCI value for cellId |
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
cellId | Y | 1 | String | cellId with modified PCI value | |
removableNeighbors | Y | 1..N | List of Strings | List of neighbors to be blacklisted |
HTTP Code | Response Phrase | Description |
---|---|---|
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. |
520 | Solver error | Requested number of solutions cannot be found. |
{ "requestInfo": { "transactionId": "xxx-xxx-xxxx", "requestId": "yyy-yyy-yyyy", "callbackUrl": "https://wiki.onap.org:5000/callbackUrl", "sourceId": "PCIHMS", "requestType": "create", "numSolutions": 1, "optimizers": ["pci"], "timeout": 600 }, "cellInfo": { "networkId": "NTWK005", "cellIdList": [ "EXP001" ] } |
{ "transactionId": "xxx-xxx-xxxx", "requestId": "yyy-yyy-yyyy", "requestStatus": "accepted", "statusMessage": "" } |
{ "transactionId": "xxx-xxx-xxxx", "requestId": "yyy-yyy-yyyy", "requestStatus": "completed", "statusMessage": "success", "solutions": [ { "startTime": "2016-10-01T00:30+01:00", "finishTime": "2016-10-01T00:40+01.00", "networkId": "NTWK005", "pciSolutions": [ {"cellId": "EXP001", "pci": "101"}, {"cellId": "EXP002", "pci": "102"}, ] } ] } |