Add definition property to OS::Mistral::Workflow
Currently in order to use OS::Mistral:
* Very tight coupling between the Mistral DSL and HOT DSL - every time the Mistral DSL changes - these changes needs to be reflected in the HOT schema.
* Tight coupling between Heat version and Mistral version - for example, working with Heat Liberty and Mistral Mitaka, you will not be able to use Mistral Mitaka DSL features.
* In order to match HOT schema style, the embedded workflow DSL is different than the original Mistral DSL, for example “on_success” instead of “on-success” this causes a situation where one needs to rewrite the workflow in order to embed it in HOT.
The suggested solution: Add a "definition" property to OS::Mistral:
In addition, workflow name in Mistral is unique per tenant meaning that if one uses a hard coded string in the name property, the stack will fail to be deployed more than once due to a unique workflow name violation in Mistral. The current workaround is to generate a dynamic name which is a combination of the workflw and the OS::stack_id.
The suggested solution: adopt the approach taken in other resource types where the name will be generated automatically.
In the workflow-create API, Heat will provide Mistral with the workflow definition and workflow name (This name will override the name stated in the definition). This requires an update of the API in Mistral.
Following the above changes many of the OS::Mistral:
- name - Optional., to allow the user to explicitly set the name, otherwise it will be autogenerated
- definition
- input
- params
- use_request_
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Sharon Mendel-Brin
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by