Integration of Temporal workflows in EMCO
Email conversations : https://lists.project-emco.io/g/emco-dev/message/16
Three tasks:
- Ensuring that temporal runtime is installed in EMCO cluster.
-
Starting workflows from various hook points & hook phases of ORCH, CLM, DCM via a controller.See #137 (closed) - Extending API endpoints with specified workflows within the API.
Before implementing them:
- It is good to get confirmation from @ravi, @Amar/his team and of course Intel EMCO team.
Also, good to have
- Example workflow that get executed from the controller.
- Example API endpoint with workflow as input.
UPDATE March 18, 2022:
This work will be performed in many phases.
Phase 1: expected to be completed by 22.03.
- Extend EMCO with a new
workflowmgrmicroservice that handles Temporal workflow intents: create/get/delete intents, start a workflow, query status of a workflow and cancel/terminate a workflow. - Provide an example workflow that gets executed from the
workflowmgrcontroller.
Subsequent phases:
Note regarding the three tasks:
- Design investigation showed that the Temporal runtime itself need not be in the EMCO cluster. EMCO code need not be changed to deploy Temporal runtime: the Temporal runtime, workers and workflow clients can each be packaged as a Helm chart and deployed via EMCO, like any other application.
- The second and third tasks would be completed in subsequent phases.
- Re. "good to get confirmation from", we have presented Phase 1 work to @ravi, @amar's team and, of course, the Intel EMCO team. They are all aware of or have approved Phase 1 work.
- Of the two items listed as "good to have", the "example workflow" is done in Phase 1. The "example API endpoint with workflow as input" refers to an LCM hook apparently. That needs to come in subsequent phases.
Edited by Igor DC