-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Profile-YAML
-
Labels:None
-
Resolution:
In TOSCA, since we have endeavored to create a normative type system, we have always had nodes like Compute and BlockStorage that are assumed to be something that orchestrators are able to "select" an implementation for (i.e., the best impl. given the properties provided on the respective node type); in essence making them "substitutable" by design. However, we never had a means in the grammar to indicate this until we introduced "directives" and the "substitutable" keyword value as a directive. I propose we review our built-in types including:
Compute:
ObjectStorage:
BlockStorage:
Network:
LoadBalancer:
Container.Runtime
and others...
to see if we should add this directive to their definitions. I believe we should since this is what the desired affect is and now we have a way to formalize this and eventually show how concrete templates can be "selected" from (perhaps from a catalog) to choose the best implementation.