The TOSCA spec says nothing about how multiple nodes per template would be
created, leaving it the orchestrator to decide. The provided scaling policy
in the Simple Profile is empty, just providing a base type for users to
extend.

What I'm proposing is to support basic policy-based scaling to ARIA. I have
a pull request that works and you can try out:

https://github.com/apache/incubator-ariatosca/pull/143

The way it works is that you can define a default_instances number for any
number of nodes (or nodes in the group) by applying the scaling policy to
it. min_instances and max_instances are also there, though ARIA doesn't
know what to do with them at the moment. They would be available for
plugins to implement their own scaling system, to make sure their workflows
are scaling with the user-defined bounds.

In terms of code, it meant removing the default_instances, min_instances,
and max_instances fields from the NodeTemplate model. Instead, there is a
default_instance property that will grab the value from applicable policies.

Works great! But I would be happy to hear feedback about this bold
approach. I think one negative is that if you want to give default scaling
parameters for different nodes you would have to define separate policies.
But I don't think this is so bad, and is actually the correct usage of
policies (and groups) in TOSCA.

Reply via email to