SDNC Actor
Overview of SDNC Actor
ONAP Policy Framework enables SDNC as one of the supported actors. SDNC uses a REST-based interface, and supports the following operations: BandwidthOnDemand, Reroute.
Each operation supported by the actor is associated with its own java class, which is responsible for populating the request structure appropriately. The operation-specific classes are all derived from the SdncOperation class, which is, itself, derived from HttpOperation. Each operation class implements its own makeRequest() method to construct a request appropriate to the operation.
Request
A number of nested structures are populated within the request. The following table lists the contents of some of the fields that appear within these structures.
Field Name |
Type |
Description |
top level: |
||
requestId |
string |
Inserted by Policy. Maps to the UUID sent by DCAE i.e. the ID used throughout the closed loop lifecycle to identify a request. |
sdnc-request-header: |
||
svc-action |
string |
Set by Policy, based on the operation. |
svc-request-id |
string |
Generated by Policy. Is a UUID. |
request-information: |
||
request-action |
string |
Set by Policy, based on the operation. |
network-information: |
Applicable to Reroute. |
|
network-id |
string |
Set by Policy, using the “network-information.network-id” property found within the enrichment data provided by DCAE with the ONSET event. |
vnf-information: |
Applicable to BandwidthOnDemand. |
|
vnf-id |
string |
Set by Policy, using the “vnfId” property found within the enrichment data provided by DCAE with the ONSET event. |
vf-module-input-parameters: |
Applicable to BandwidthOnDemand. |
|
param[0] |
string |
Set by Policy, using the “bandwidth” property found within the enrichment data provided by DCAE with the ONSET event. |
param[1] |
string |
Set by Policy, using the “bandwidth-change-time” property found within the enrichment data provided by DCAE with the ONSET event. |
vf-module-information: |
Applicable to BandwidthOnDemand. |
|
vf-module-id |
string |
Set by Policy to “”. |
Examples
Suppose the ControlLoopOperationParams were populated as follows:
{
"actor": "SDNC",
"operation": "Reroute",
"context": {
"enrichment": {
"service-instance.service-instance-id": "c7c6a4aa-bb61-4a15-b831-ba1472dd4a65",
"network-information.network-id": "2246ebc9-9b9f-42d0-a5e4-0248324fb884"
}
}
}
An example of a request constructed by the actor using the above parameters, sent to the SDNC REST server:
{
"input": {
"sdnc-request-header": {
"svc-request-id": "2612653e-d946-423b-96d9-a8d5e8e39618",
"svc-action": "reoptimize"
},
"request-information": {
"request-action": "ReoptimizeSOTNInstance"
},
"service-information": {
"service-instance-id": "c7c6a4aa-bb61-4a15-b831-ba1472dd4a65"
},
"network-information": {
"network-id": "2246ebc9-9b9f-42d0-a5e4-0248324fb884"
}
}
}
An example response received from the SDNC REST service:
{
"output": {
"svc-request-id": "2612653e-d946-423b-96d9-a8d5e8e39618",
"response-code": "200",
"ack-final-indicator": "Y"
}
}
Configuration of the SDNC Actor
The following table specifies the fields that should be provided to configure the SDNC actor.
Field name |
type |
Description |
---|---|---|
clientName |
string |
Name of the HTTP client to use to send the request to the SDNC REST server. |
timeoutSec |
integer (optional) |
Maximum time, in seconds, to wait for a response to be received from the REST server. Defaults to 90s. |
path |
string |
URI appended to the URL. This field only applies to individual operations; it does not apply at the actor level. Note: the path should not include a leading or trailing slash. |
The individual operations are configured using these same field names. However, all of them, except the path, are optional, as they inherit their values from the corresponding actor-level fields.