ARIA Profile

All the ARIA types can be imported via the built-in aria-1.0 import, e.g.:

tosca_definitions_version: tosca_simple_profile_for_nfv_1_0

imports:
  - aria-1.0
  - types/openstack.yaml

The following types are supported.

aria.Plugin

The aria.Plugin policy type is used to specify that a plugin is required to be installed for the service template to be properly orchestrated.

The name of the policy is also the name of the required plugin. Additionally, we support the following properties:

NameTypeDefault 
versionversion Used to specify the minimum required version for the plugin. If not specified, then any version of the plugin could fulfill the requirements.
enabledbooleantrueSetting this to false effectively cancels the policy. This is useful during development as an alternative to deleting the policy or commenting it out.

aria.Workflow

The aria.Workflow policy type is used to define custom workflows. Note that TOSCA 1.1 will support custom workflows, however ARIA provides this solution as well.

The workflow is in fact implemented via a Python function that constructs the task graph for the workflow. The TOSCA policy provides the entry point connecting the service to that workflow function.

The policy type has only one required property:

NameType 
implementationstringThe fully qualified path to the Python @workflow function.

Any additional properties declared in a sub-type of aria.Workflow will be sent as arguments to the Python @workflow function.

aria.Scaling

Though the TOSCA Simple Profile 1.0 defines tosca.policies.Scaling, it is an empty type that is meant to provide a common ancestor for scaling policy implementation. Thus ARIA indeed provides one such basic policy in order to solve a curious problem in the TOSCA Simple Profile: though there is a tosca.capabilities.Scalable capability type, which can be used to provide scaling capabilities to nodes, only the tosca.nodes.Compute node type uses that capability. In practice, other node types may also need to be scaled, and indeed scaling may often be applied to whole groups of nodes together.

The aria.Scaling policy type works around this limitation by allowing you enact that same exact scaling properties as found in tosca.capabilities.Scalable, but at the level of a policy, which can then be applied to any node template or group.

The capability type takes precedence: if a Compute node has a Scalable capability, and there is also a Scaling policy applied to it, then the capability information will be used.

ARIA currently makes use of only the default_instances property, which is used to specify how many nodes the node template will produce upon instantiation. In the future, scaling and other workflows may take into account the min_instances and max_instances properties.

  • No labels