...
All ONAP scaling policies inherit from the tosca.policies.Scaling policy. A scaling policy may target any resource template or group in the model. When a scaling policy targets a group, this group scales out and in as a whole. Absence of a scaling policy for a resource implies that this resource should be instantiated once.
Example 1: Simple Scaling
Code Block | ||||
---|---|---|---|---|
| ||||
node_templates:
vf1:
# omitted for brevity
policies:
scale_vf1:
type: onap.policies.scaling.Fixed
properties:
quantity: 3
targets: [vf1]
|
The model instructs the orchestrator to create 3 instances of the vf1 resource.
Example 2: Nested Scaling
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
node_templates: vf1: # omitted for brevity vf2: # omitted for brevity Vf3vf3: # omitted for brevity groups: vfs_grp: type: tosca.groups.Root members: [vf1, vf2] policies: scale_vf1: type: onap.policies.scaling.Fixed properties: quantity: 3 targets: [vf2] scale_vfs_grp: type: onap.policies.scaling.Fixed properties: quantity: 2 targets: [vfs_grp] |
The vfs_grp group will be instantiated 2 times. Within each group instance, the vf2 node will be instantiated 3 times. No scaling policies target vf3, so it will be instantiated only once. In total, there will be 2 instances of vf1, 3x2=6 instances of vf2, and 1 instance of vf3.