A Controller manages the state of a single Resource (Application, Infrastructure, or Network). It executes the Resource's configuration and instantiation, and is the primary player in ongoing management, e.g. control loop actions, migration, and scaling. All of these actions involve executing workflows (recipes) obtained from ASDC. In addition, the Controller reports the status of each workflow execution to both A&AI and MSO.
In effect, each Controller instance supports a form of orchestration to manage operations within its scope. This low-level orchestration is done outside the MSO.
The MSO is responsible for ensuring that the Controller successfully completes its Resource configuration as defined by the recipe.
OpenECOMP uses three distinct Controller types to manage Resources in the execution environment, corresponding to their assigned controlled domain:
- cloud computing resources (Infrastructure Controller, typically within the cloud layer)
- network configuration (Network Controller)
- application (Application Controller).
Infrastructure Controllers
Infrastructure Controllers typically execute OpenStack requests for the creation of virtual machines (VMs), and load the Virtual Function (VF) software into the new VM container. To do this, the Infrastructure Controller obtains the Virtual Function's Resource recipe from the ASDC. The Resource recipe will define VM sizing, including compute, storage, and memory. When the Infrastructure Controller completes the request, it will pass the virtual resource identifier and access (IP) information back to the MSO to provide to the Network and Application controllers.
If the Resource recipe requires multiple VMs, the MSO will repeat the process, requesting each Infrastructure Controller to spin up one or more VMs and load the appropriate VFs.
Network Controllers
Application Controllers
To create an Application controller, see ?