...
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
vf3:
# 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 The vfs_grp group group will be instantiated 2 times. Within each group instance, the the vf2 node node will be instantiated 3 times. No scaling policies target target vf3, so it will be instantiated only once. In total, there will be 2 instances of of vf1, 3x2 3x2=6 instances of of vf2, and 1 instance of of vf3.