Assumptions:
- Only the participants can execute a precheck.
- Precheck is executed before the migration, if it fail the migration will be not executed.
- User needs to receive the result of the precheck.
- Acm-runtime needs to handle the precheck fail in a different way it handles migration fail.
Solution 1: create a new flow for migration-precheck.
User can send the action migration-precheck POST. The user can do the action migration POST after that. The migration flow is still backwards-compatible.
- User send migration-precheck action
- Acm-runtime set the instance in "MIGRATING-PRECHECK" deployState
- Acm-runtime sends migration-precheck message to participants
- Participant receives migration-precheck message and executes the precheck and sends the result
- Acm-runtime receives precheck-result messages from all participants
- Acm-runtime shows this result into the stateChangeResult (deployState will be in "DEPLOYED" state)