Hi Michael,
"Clearly, you are NOT using the declarative workflow, so then why do you care
how it is encoded in TOSCA? Only a TOSCA-based orchestrator that interprets the
declarative intent needs to really interpret TOSCA."
You're claiming that some Orchestration implementation is "TOSCA-based
Orchestrator" and others are not. And the criteria you're using to tell
whether an Orchestration implementation is a "TOSCA-based Orchestrator" is if
the LCM workflow of the orchestrator is declarative(Topology driven).
Firstly, the TOSCA Specification doesn't restrict the implementation of
orchestrator as long as " it can interpret a TOSCA service template or a TOSCA
CSAR in order to instantiate and deploy the described application in a Cloud",
no matter the workflow is implemented by Python(Aria is that case), BPMN or any
other language.
- TOSCA Simple Profile in YAML Version 1.1 1.3 implementation
Secondly, TOSCA Specification also think that some complex use cases can't be
solved by declarative workflow, that's why TOSCA define a new imperative
workflow language in the V1.1 specification. But the language has some
limitation. For example, what about long-running processes? Such as monitoring
the application. What about human tasks? What about complex fault handling?
What about reversing actions (compensation!)? This is all possible with BPEL
and BPMN engines.
Thirdly, As I have pointed out in my previous mail, the orchestrator
implementation with BPEL/BPMN(OPEN-O is a good example) can be topology driven
as well. We can combine declarative and imperative provisioning using BPMN/BPEL
which can resolve drawbacks and to profit from benefits of both worlds. There
is an academic paper presents a means to do that, we have done similar in
OPEN-O.
Breitenbücher, Uwe et al.: Combining Declarative and Imperative Cloud
Application Provisioning based on TOSCA. In: Proceedings of the IEEE
International Conference on Cloud Engineering (IC2E), 2014.
http://www.iaas.uni-stuttgart.de/RUS-data/INPROC-2014-21%20-%20Combining%20Declarative%20and%20Imperative%20Cloud%20Application%20Provisioning%20based%20on%20TOSCA.pdf
In conclusion, OPEN-O is a "TOSCA-based Orchestrator" which is ETSI MANO
complied with the ability to allow vendors to bring their VNFs in with VNFM and
it use Inventory(counterpart of A&AI in OpenECOPM) to storage and manipulate
the instance model. The Inventory API is called to update the instance model in
the workflow activities, so this approach do "return to the TOSCA". So the
request to take alternative workflows such as BPMN/BPEL, etc. which had been
supported in TOSCA v1.0 back to TOSCA is reasonable.
Thanks,
Huabing
Original Mail
Sender: <[email protected]>
To: mengzhaoxing10024238
CC: <[email protected]>zhaohuabing10201488 <[email protected]>
<[email protected]>
Date: 2017/05/13 01:08
Subject: Re: Re: [onap-tsc] [onap-discuss] [modeling] TOSCA BPMNsupportproposal
at OASIS TOSCA WG
Huabing,
Let me suggest that you can accomplish today everything you are trying to
accomplish, without additional support in the TOSCA spec. In fact, the
additional support you are asking is ONLY useful if you use the declarative
model to trigger imperative workflows, in that case you MUST provide a
returning mechanism to the declarative model. This is what I have been
advocating, and finally getting support from Nokia (Ranny) and Amdocs (Andrei).
Nothing stops anyone to do exactly what you want right now in opensource with
the current TOSCA standard. All you have to do is to include scripts for each
of the lifecycle events where you want and external workflow engine to execute
the action.
Clearly, you are NOT using the declarative workflow, so then why do you care
how it is encoded in TOSCA? Only a TOSCA-based orchestrator that interprets the
declarative intent needs to really interpret TOSCA.
In your case, TOSCA is only used to describe the topology and nodes, and create
an internal model (which may be translated to some other internal model). So
you can provide an artifact that is opaque to the TOSCA parser and
orchestrator, where you capture exactly what you suggest to be standardized -
i.e. an indicator that you want to use an external workflow engine, and a
pointer to a link that describes the engine and the plan.
The TOSCA parser not choke because it is not supposed to parse the artifacts
themselves, just make them available in the internal model.
Once the internal model is generated - your preferred orchestrator that
traverse the model will get to the point where that artifact is represented,
and will execute it accordingly.
The only true reason to standardizing such a procedure is to define the
relationship between the declarative model and the use of an external engine
(whether for workflows or any other matter) - and such a procedure implies that
the declarative model is "the master of that sub-domain" hence needs to know
how to regain control once the external engine completed its task. But since
this is not the approach you want to consider for your use case, you do not
need any standard extension in TOSCA. Please try to think through the use case,
through the prism of TOSCA, if you want to use TOSCA. Otherwise, this becomes a
case of driving a tank to do your shopping at the super-market. Yes, it is
possible, since the tank is vehicle after all, but neither recommended, nor
should you expect support from the broader community.
Best regards,
Michael
On Fri, May 12, 2017 at 12:53 PM, Michael Brenner <[email protected]>
wrote:
Sure ... but "Rome" did not become a standard in its first day either, neither
in its 2nd, nor in its 100th day. It became a "standard" in the back-view
mirror, hundreds of years later:-)Having said that - considering that you made
the analogy, I will take it as a great compliment for TOSCA, so let's then use
this great standard in the way it was planned to be used, rather than chopping
it up, using the least of its strengths, and then attaching a rushed appendix
to on of its chopped wings!
Michael
On Fri, May 12, 2017 at 12:32 PM, <[email protected]> wrote:
Hi Nati and all,
I think we should focus on the requirement from opensource which is to include
standard workflow DSL such as BPMN or BPEL as an alternative workflow approach
for TOSCA service lifecycle management process modelling, rather than how to
figure out a "sophisticated" mechanism to address all the raised questions of
this approach, or we can't accomplish it in a predictable timeline.
The solution might not look to be perfect right now but work very well in the
orchestration implementation.
Even in TOSCA Specification, there're still some parts needed to be improved,
but we embrace the ideas and allow them to evolve in the right direction.
Please let me share a famous Chinese saying here "不积硅步,无以至千里", or in western,
we say "Rome was not built in a day".
Thanks,
Zhaoxing
原始邮件
发件人: <[email protected]>
收件人: <[email protected]>赵化冰10201488
抄送人: <[email protected]> <[email protected]>
日 期 :2017年05月11日 21:42
主 题 :Re: [onap-tsc] [onap-discuss] [modeling] TOSCA BPMN supportproposal at
OASIS TOSCA WG
"The proposal has been discussed in the OASIS TOSCA for a couple of weeks and
most of the members agreed on it except the strong pushback from Michael of
Gigaspaces."
Huabing et al
I wanted to ask that we will keep the discussion on a professional and not a
personal level.
First i want to clarify what were discussing here right now is not a question
of declarative vs impressive workflow as it is being coined for some reason.
What were really discussing is whether we use TOSCA as a configuration input or
as a model that represent a live system and allow continues interaction with
system through the model e.g. Model Driven.
So the discussion is wether ONAP orchestration should be truly model driven or
not and not whether we should support declarative vs imperative workflow and
whether that workflow should be written in BPMN or some other language.
There is also no real argument on whether you can or can't use BPMN as a
workflow engine. Intact if things done right we should't even care about it.
I think that we all agreed that an implementor can choose to run the workflow
in what ever language or format he wishes and that should become a "black-box"
from the Orchestrator perspective.
To allow this kind of flexibility i.e. allow the implementor to choose the
workflow language that fits best to his needs we need to define a clear
interface on how the execution get called and also how the state of the model
get effected once that execution is completed.
That's what Michael is basically trying to say repetitively but unfortunately
he's comment are being ignored.
Both Michael myself are more than happy to work with you or anyone else on the
proposal for defining those interfaces assuming that we agree with the goal and
scope toward a true Model Driven orchestration.
Speaking of a community process.
I would appreciate if you could respond to the questions that was raised here
an on the OASIS discussion about the proposal in order that we could have a
constructive dialogue and move forward.
Here is a summary of some of those questions that were left un answered:
1. What's in your proposal should be the effect on the model after the
execution is completed? (I assume that right now this is considered out of
scope in the current proposal right?)
2. Your making assumption on what works for Telco vs Simple use cases. (This
goes with the declarative vs imperative for some reason even though i'm not
sure how the two are even related). Can you share on what basis are you making
those assumptions?
3. If we agree to leave that the implementation of the workflow should be
treated as a blackbox why do we need a specific specification proposal for BPMN
?
Let's start with that.
As i mentioned we would be more than happy to work with you on those areas and
put more clarity behind those items.
Nati S.
On Wed, May 10, 2017 at 9:03 AM Michael Brenner <[email protected]> wrote:
Huabing,
I recognize the need in ONAP to support delegation in TOSCA to external
workflow engines. I have said this repeatedly, and still am miss-interpreted.
This has nothing to do with backward compatibility to TOSCA 1.0, it only has to
do with supporting "facts on the ground/existing implementations". We should
get this agreed once for all, and it became obvious in ONAP's Friday modeling
discussion.
It also became clear that some of these "facts-on-the-ground" use TOSCA in a
limited way. This is OK, and I have no issue with that. I can support in TOSCA
TC to find the right mechanism to delegate externally, but only if we do it in
a way that is complete: that means we need to not only specify how to "get out
of TOSCA" but also has to include how to "get back to TOSCA", and "what is the
TOSCA orchestrator supposed to do after it delegates externally". I suggest we
work jointly to resolve these issues.
Further, your claim that I am the only one opposing the half-way solution on
the table is incorrect, and you know it. Luc Boutier in the TOSCA TC is also
vehemently opposed, and partly at least for the same reasons as those quoted by
me.
It would be great if we stop making unfounded claims in one community, by
quoting only partially what happens in another community, and it would be
better to focus joint energy to resolve the issue in a consistent and complete
technical manner in the TOSCA TC. Please realize that you absolutely CANNOT
resolve TOSCA TC discussions/debates in the ONAP community alone, and this is
not the appropriate way for you to convince me to drop my opposition in TOSCA
TC.
The right way to have me support this is by resolving the technical issues that
I raised.
Best regards,
Michael
On Wed, May 10, 2017 at 3:16 AM, <[email protected]> wrote:
Hi Amir and all,
Both OPEN-O and OpenECOMP have used TOSCA for service topology modelling and
BPMN/BPEL for lifecycle management process modelling. After the merger, ONAP
will inherit the existing codes from OPEN-O and OpenECOMP and continue to use
BPMN/BPEL in SO/VF-C.
However, I noticed that TOSCA has removed the support for BPMN/BPEL in v1.1[1]
which is recommended in the Topology and Orchestration Specification for Cloud
Applications Version 1.0[2].
This incompatible change of TOSCA specification may cause unpredictable effects
to existing opensource projects, in particular, the ONAP, which have already
adopted BPMN as its lifecycle management process modelling.
To harmonize the opensource and standards, I am co-proposing a proposal[3] with
Lingli(CMCC), Claude(AT&T) and Shitaoto(Huawei) to suggest OASIS TOSCA revert
standard workflow DSLs support such as BPMN/BPEL in the next version of simple
YAML specification..
The proposal has been discussed in the OASIS TOSCA for a couple of weeks and
most of the members agreed on it except the strong pushback from Michael of
Gigaspaces.
I think this proposal is for the best interest of ONAP community, so I'm
writing this mail to solicit supports from Gigaspaces and all the other
community members who are both in ONAP and OASIS TOSCA WG.
[1]
http://docs..oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.1/TOSCA-Simple-Profile-YAML-v1.1.html
[2] http://docs.oasis-open.org/tosca/TOSCA/v1..0/TOSCA-v1.0.html
[3]
https://www.oasis-open.org/apps/org/workgroup/tosca/download.php/60604/Issue_TOSCA318_Lack%20of%20BPMN%20BPEL%20support-v-2017-04-25.pptx
Thanks,
Huabing
_______________________________________________
onap-discuss mailing list
[email protected]
https://lists.onap.org/mailman/listinfo/onap-discuss
--
Michael Brenner, Chief Architect NFVM:
+1-732-895-5772http://getcloudify.org@cloudifysource
_______________________________________________
ONAP-TSC mailing list
[email protected]
https://lists.onap.org/mailman/listinfo/onap-tsc
--
Michael Brenner, Chief Architect NFVM:
+1-732-895-5772http://getcloudify.org@cloudifysource
--
Michael Brenner, Chief Architect NFVM:
+1-732-895-5772http://getcloudify.org@cloudifysource_______________________________________________
ONAP-TSC mailing list
[email protected]
https://lists.onap.org/mailman/listinfo/onap-tsc