[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [tosca] Groups - TOSCA Imperative Workflows supporting custom workflow language uploaded
Apologies for the late reply. A couple of observations based on the various points made below:
Â
Iâm not sure I agree that âBring Your Own Orchestratorâ is really the main promise of TOSCA. In fact, I firmly believe that TOSCA very much wants to
be a full orchestration language that allows for ânativeâ TOSCA orchestration (itâs actually in the name
J ). The main promise of TOSCA is that itâs technology and platform-independent, which (in theory)
allows for portable service templates.
Â
That doesnât mean that in practice TOSCA should be used for all (or even most) orchestration tasks. Because of its technology and platform-independent
approach, TOSCA is in fact perfectly positioned to act as an âumbrellaâ orchestrator that uses what I call a âdecompose and delegateâ approach: decompose high-level service descriptors into smaller components, where each of these components could be orchestrator
by their own (presumable domain-specific) orchestrators. For example, it would be perfectly natural to âdelegateâ orchestration of parts of a TOSCA service to Kubernetes or to use Ansible for other components.
Â
However, the decomposition process itself and the coordination between (delegated) orchestration of sub-components is itself an orchestration challenge.
TOSCA orchestrators need to deal with that challenge by implementing the necessary orchestration logic.
Â
For better or for worse, TOSCA implements that orchestration logic by running workflows that call interface operations. Those are features that are
core to the language. However, the expectation is that TOSCA orchestrators should be able to generate the necessary workflows automatically from the template. I think the reason we have âimperative workflowsâ is because there are a number of scenarios where
creating the âdeclarative workflowsâ automatically is difficult or impossible (e.g. when non-standards Interface types are used). We should try to address those shortcomings as Calin suggested.
Â
The main problem I have with imperative workflows in TOSCA is not that they exist, but rather that there doesnât seem to be a good way to integrate
these workflows in the TOSCA paradigm. Iâll try (again) to explain my concern during our meeting on Tuesday
J Thanks, Chris From: tosca@lists.oasis-open.org [mailto:tosca@lists.oasis-open.org]
On Behalf Of Tal Liron Thanks, Calin, I appreciate verbosity. On Thu, Jul 11, 2019 at 8:35 AM Calin Curescu <calin.curescu@ericsson.com> wrote:
I think there are more problems, but I'd focus on one in particular: workflows work at the level of node instances and not node templates. I can think of many real-world situations whereby workflows leave the template far behind. For example,
a workflow that adds a loadbalancer in front of an existing node (for scaling, healing, etc.). This is nicely detailed, Calin, but I doubt I can be very constructive here because I think this whole grammar should be removed from TOSCA. :) I will say that you have the beginnings here of a nice LCM orchestration grammar. I just believe
that it's way, way too specific and that you would have to build such an orchestrator from scratch. The more the grammar gets detailed, the harder it is to adapt. Workflow grammar breaks the "Bring Your Own Orchestrator" promise that I believe is part of the
spirit of TOSCA.
I think the right way to do this is to package implementation-specific orchetrator solutions outside of TOSCA: Ansible playbooks, Kubernetes operators, Mistral artifacts, etc. Integration is all about allowing for the software insight into
the TOSCA template and instance model. For example, allow the Ansible playbook to grab a list of hosts from an implemented TOSCA service.
Wow, I was entirely unaware of this and it indeed is very close to my "events" suggestion. So, here's a thought: can we try to think of a way to solve the problem posed by the ETSI requirement using TOSCA notifications? |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]