1. Manual Scale Out Use Case
Table of Contents
1.1. Overview
In the Casablanca release, ONAP will support the ability to both manually and automatically scale out a VNF component. Below is the sequence diagram for how scaling will work.
1.1.1. Design Time Diagram
1.1.2. Run Time Diagram
1.2. Description of Workflow
At a high level the way Scale Out will work is:
VF_Modules
(VNFC’s) may be scaled out with either one of two methods:Using VID, the operator will choose to scale out a VNFC by picking a
VF_Module
to scaleAn operator may define an operating policy (and associated guard policies) to trigger a scaling operation automatically.
As an example, the operating policy may be when the output of an application load balancer crosses a bandwidth threshold, then increase the number of instances of the application.
Examples of a guard policies:
If a scaling operation has run within the past X minutes, then do not scale.
If the number of instance is <=
MIN_INSTANCES
or >=MAX_INSTANCES
, then do not scale.
VID or Policy sends the Scale Out Request to SO.
When SO receives the Scaling request it will first send a request to the appropriate controller (APPC or SDNC) to execute a health check on the VNF.
Once the health check has been run, SO executes the Heat Template associated with the VF Module requested by the VID Operator or the operational policy.
After the new component(s) have been instantiated SO calls the responsible controller (via DMaaP) to configure the new instances using Ansible, Chef, or Netconf.
Finally a health check is run to ensure that the entire VNF is Operating as it should.
1.3. VNF Impacts
For VNFs to make use of the Manual Scaling Capabilities of ONAP, they must support the following functionality:
VNFs must support a Healthcheck as described in: onap_management_requirements.
R-41430 is the requirement dictating the need for VNF Healthchecks.
The health check may be supported using REST, Ansible, or Chef
REST health check requirements can be found in the xnf_rest_apis
The Ansible health check playbook can be found in the ansible_playbook_requirements
R-43413 states that a “VNF MUST utilize a modular Heat Orchestration Template design to support scaling”. The description of this design may be found in the heat_onap_vnf_modularity_overview of the Heat Requirements.
The
VF_Module
to be scaled must be built according to the VNF Modularity Rules for Incremental ModulesConfiguration of the VNF must be done via NETCONF, Chef, or Ansible as described in the vnf_configuration_management