workflowmgr and Temporal: remaining tasks

Major:

  • Add Life Cycle Management (LCM) hooks: registering and launching workflows during app LCM.
    • See issue 89 for background. Enhance EMCO to do these:
      • Register workflows that need to be executed at these LCM points:
        • before or after a Deployment Intent Group (DIG) is instantiated, terminated, upgraded or migrated.
        • before or after a cluster is registered or deleted.
        • before or after a logical cloud is instantiated, terminated, etc.
      • Monitor status of said workflows, in all the ways supported in Phase 1.
    • Cancel/terminate any of said workflows.
  • Security considerations.

More:

  • Apply JSON schemas. Note that the timeout values should be accepted as in temporal-migrate-workflow issue 1. The workflowmgr need only pass these values to the workflow client and need not parse/use the timeout values itself. Only the workflow client and the worker need to parse/apply the timeout values.
  • Add unit tests.
  • Create gitlab CI for migrate workflow repo.
  • TODOs in source: cd src/workflowmgr/; git grep TODO. Some examples:
    • Apply timeouts/retry policies for query and cancel APIs, if there is interest.
    • Provide a more human-readable output for status query, if there is interest.
    • Allow query parameters.
Edited by Nadathur Sundar