-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Spec
-
Labels:None
-
Resolution:
In certain situations it is desirable to make the selection of the concrete type of a Node Template dependent on the final deployment context. This becomes apparent in selecting scaling/load balancing mechanisms where different clouds might provide varying but suitable implementations of the required functionality or possibly none, requiring the deployment of the components providing this functionality. A ServiceTemplate could represent these functions as well as an actual deployment of an implementation of these functions.
An abstract type (which never can itself be instantiated) could represent the required functionality. Subtypes could represent concrete implementations. A selection mechanism (based on requirements/capabilities constraints) could be used to determine the final NodeType that should be instantiated. A NodeTemplate with NodeType set to the abstract type could represent this scenario and trigger the necessary selection processing.