The Application Controller (APPC, formerly abbreviated APP-C) manages and controls the life cycle of virtual applications, such as virtual network functions (VNFs), and their components.  APPC receives commands from internal ONAP components, such as SO, DCAE, or the Portal.

A virtual application is composed of the following layers of network technology:

  • Service
  • Virtual Network Function (VNF)
  • Virtual Network Function Component (VNFC)
  • Virtual Machine (VM)

A Life Cycle Management (LCM) command may affect one or more of these layers.

For example, a Terminate command applies to all four layers, whereas a Scale command may not apply to the VM layer.

An LCM command is sent as a request to the APPC using an HTTP POST request, or in a message on OpenECOMP's bus (DMaaP). For each request, the APPC returns one or more responses:

  • An asynchronous command, which is sent as an authorized and valid request, results in at least two discrete response events:
    • an accept response, to indicate that the request is accepted for processing
    • a final response to indicate the status and outcome of the request processing 

          An unauthorized or invalid request results in a single ERROR response.

  • A synchronous command, such as Lock or Unlock, results in a single response that is either SUCCESS or ERROR.

For more information, see the APPC Documentation Repository


  • No labels

5 Comments

  1. Hi,

    I am not able to find a Rest API to On board ,Get,delete VNF instances?

    Thanks,

    Abdul Kalam 

    1. Abdul Kalam:

      • For Deleting a VNF instance using APPC, you can use the Terminate LCM API (/restconf/operations/appc-provider-lcm:terminate).
      • To GET the VNF instances, you would need to use AAI's API, not APPC. See details here: AAI API (see GET example on Page-5 of the AAI REST API document).
      1. To add to the above: The appc-provider-lcm.yang exposes the RPC for LCM of VNFs, however there is no implementation available for those rpcs in APPC.

          1. Oh great! I missed that, thanks for pointing out.