A Controller manages the state of a single Resource (Application , Infrastructure, or Network). It participates in executes the Resource's instantiation and configuration and instantiation, and is the primary player agent in ongoing management, e.g. such as control loop actions, Resource migration/scaling, and managementscaling. All of these actions involve executing workflows (recipes) obtained from ASDCobtained from Service Design and Creation (SDC). In addition, the Controller reports the status of each workflow execution to both A&AI and MSOthe Active and Available Inventory (AAI) and the Master Service Orchestrator (MSO).
In effect, each Controller instance supports a form of orchestration to manage the operations that are within its scope. This lowThis orchestration is a lower-level of orchestration is than the orchestration done outside by the MSO.
The MSO is responsible for ensuring that the Controller successfully completes its Resource configuration as defined by the recipe.
Infrastructure Controllers
Network Controllers
ONAP uses different Controller types to manage Resources in the execution environment, corresponding to their assigned controlled domain:
- Network configuration (Network Controller)
- Application (Application Controller).
Both these controllers are based on an OpenDaylight Controller Framework.
Network Controllers
A Network Controller, such as SDNC, instantiates a Virtual Network Function
...
by carrying out its network configuration workflow and reporting the resulting status (to both
...
AAI and MSO).
...
Figure 1. SDNC Network Controller
<<TODO Find Reference and example DG and SLI extension node in a Gerrit Project>>
Application Controllers
Application controllers, such as APPC, receive orchestrated requests from the MSO, which obtains application-specific components and attributes from SDC. The MSO continues to be
Application Controllers
responsible for ensuring that the Application Controller successfully completes its Resource configuration as defined by the
...
workflow.
...
Note that not all changes in network or service behavior are the result of orchestration.
...
Policies and rules (in the Policy subsystem) inform the controller such that the Controller can enable service behavior changes.
ONAP includes a generic Application Controller (APPC, formerly called APP-C) that receives commands from ONAP components, such as MSO, DCAE, or the Portal, and uses these commands to manage the life cycle of Services, Resources (virtual applications and Virtual Network Functions), and their components. The Application Controller is based on the same OpenDaylight Framework with SLI additions. The Application Controller project provides SLI node types, adapters, and API handling logic required for the life cycle management of complex, distributed services composed of many VNF types and instances.
Documentation:
- ONAP Application Controller User Guide
- APPC API Documentation
- APP-C Ansible Adapter Documentation
- APP-C Chef Adapter Documentation
NOTE: For instructions on how to build and run an ONAP Component (APP-C is taken as an example) locally, please refer to this documentation.To create an Application controller, see ?