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 |
---|---|---|---|
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 |
---|---|---|---|
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"
}
}
]
}