Interfaces




CLAMP to Policy

DCAE to Policy 

ConfigScaleOut (SO to Controllers)

ConfigScaleOut

The ConfigScaleOut command is used to apply any actions on a VNF as part of a ScaleOut flow. Actions could include updating the VNF configuration or running a set of other tasks.

The ConfigScaleOut action can have multiple APPC templates associated with it.  APPC retrieves the VfModuleModelName from A&AI (model.model-vers.model-name), which is used as the unique identifier to select the correct APPC template. APPC creates or updates VNFC records in A&AI for the newly instantiated VM’s.  The orchestration-status of the VNFC’s is set to CONFIGURED.

This action is supported via the Netconf (limited to configuration changes), Chef, and Ansible protocols.

Target URL

/restconf/operations/appc-provider-lcm:config-scale-out

Action

ConfigScaleOut

Action-Identifiers

Vnf-id

Payload Parameters

See below

Revision History

New in Beijing

Payload Parameter

Description

Required?

Example

Payload Parameter

Description

Required?

Example

request-parameters

vnf-host-ip-address: optional if Netconf or other direct interface to the VNF.   If not provided, the vnf-host-ip-address will be obtained from A&AI.

No

“payload”: “{"request-parameters ": { "vnf-host-ip-address": \”value\”, \”vf-module-id\”: \”value\”, \”controller-template-id\”: \”value\” }

"configuration-parameters":{"<CONFIG- PARAMS>"}

vf-module-id:  used to determine the A&AI VM inventory associated with ConfigScaleOut.

Yes

controller-template-id: optional. This is a unique identifier that will identify the template associated with the ConfigScaleOut. Will be needed if A&AI does not contain the template identifier.

No

configuration-parameters

A set of instance specific configuration parameters should be specified. If provided, APP-C replaces variables in the configuration template with the values supplied.

No

ConfigScaleOut Response

Success:

  • A successful ConfigScaleOut returns a success status code 400 when completed.



Failure:

  • A failed ConfigScaleOut returns a failure code 401 and the failure message.

  • If the ConfigScaleOut is successfully performed on the VNF but there is a failure to update A&AI inventory, an intermediate failure message with failure code 501 is returned prior to the final 400 success message.




Healthcheck (SO to Controllers)



HealthCheck

This command runs a VNF health check and returns the result.

The VNF level HealthCheck is a check over the entire scope of the VNF. The VNF must be 100% healthy, ready to take requests and provide services, with all VNF required capabilities ready to provide services and with all active and standby resources fully ready with no open MINOR, MAJOR or CRITICAL alarms.

Target URL

/restconf/operations/appc-provider-lcm:health-check

Action

HealthCheck

Action-Identifiers

Vnf-id

Payload Parameters

See below

Revision History

Unchanged in this release



Request Payload Parameters:

Parameter

Description

Required?

Example

Parameter

Description

Required?

Example

request-parameters

host-ip-address - Required only if REST service. This is the ip address associated with the VM running the REST service.

No

“payload”: “{"request-parameters ": “{"host-ip-address": "10.222.22.2" }”



HealthCheck Response

Success: The HealthCheck returns a 400 success message if the test completes. A JSON payload is returned indicating state (healthy, unhealthy), scope identifier, time-stamp and one or more blocks containing info and fault information.

Examples:

{ "identifier": "scope represented", "state": "healthy", "time": "01-01-1000:0000" } { "identifier": "scope represented", "state": "unhealthy", {[ "info": "System threshold exceeded details", "fault": { "cpuOverall": 0.80, "cpuThreshold": 0.45 } ]}, "time": "01-01-1000:0000" }

Failure: If the VNF is unable to run the HealthCheck. APP-C returns the error code 401 and the http error message.






Policy to SO (LCM call)  Proposed

{

  "SOCMRequest": {//name tbd

      "requestInfo": {

          "source": "VID",

          "requestorId": "az2016",

          "requestId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",//persist cross all transactions

          "subRequestId": "ff5256d2-5a33-55df-13ab-12abad84e7ff",//unique per message

          "action": "scaleOut" //action we wish to take

      },

      “vf-module” :{

“vf-module-instance-name”,//optional input if name should be provided

            "modelType": "vfModule",

            "modelInvariantId": "ff5256d2-5a33-55df-13ab-12abad84e7ff"

requestParams{ // will compare against older interface

                userParams{}

}

      },

      "relatedEntities": [ //list of related A&AI resource instances

         {

            "generic-vnf": {

               "vnf-id": "vnf-id"

            }

         }

      ]

  }