...
- User send migration-precheck action
- Acm-runtime set the instance in "MIGRATING-PRECHECK" deployState
- Acm-runtime sends migration-precheck message to participants (it will be AUTOMATION_COMPOSITION_MIGRATION message with Boolean flag "precheck" set to true)
- Participant receives migration-precheck message and executes the precheck and sends the result (it will be a new method "migratePrecheck()" that participant has to implement)
- It will add a new NOT_VALID state in stateChangeResult
- Acm-runtime receives precheck-result messages from all participants
- Acm-runtime shows this result into the stateChangeResult
- NO_ERROR: means the migration is supported (deployState will be in "DEPLOYED")
- NOT_VALID: means the migration is not supported (deployState will be in "DEPLOYED")
- FAILED: means something went wrong during the migration precheck (deployState will be in "MIGRATING-PRECHECK")
- It will be implemented migratePrecheck() in participant-simulator to test all scenarios.
PlantUML Macro |
---|
@startuml
participant "ACM Runtime"
participant Participant
participant AutomationCompositionElementListener
alt "instance Id and Composition Ids exist"
"ACM Runtime" -> Participant : [ASYNC] Migration pre-check message from source to target composition
Participant -> AutomationCompositionElementListener : Migrate pre-check AC Element
AutomationCompositionElementListener -> Participant : Migrate supported / not supported
Participant -> "ACM Runtime" : [ASYNC] Migration pre-check completed
note right
Returns AUTOMATION_COMPOSITION_STATE_CHANGE message.
end note
end
@enduml |
Allowed operations
stateChangeResult | deployState | Allowed | Not Allowed Operation |
---|---|---|---|
NOT_VALID | DEPLOYED | UPDATE, UNDEPLOY, UNLOCK, MIGRATE_PRECHECK | DELETE, DEPLOY, MIGRATE, LOCK |
FAILED | MIGRATING-PRECHECK | UNDEPLOY, MIGRATE_PRECHECK | UPDATE, DELETE, DEPLOY, MIGRATE, UNLOCK, LOCK |
TIMEOUT | MIGRATING-PRECHECK | UNDEPLOY, MIGRATE_PRECHECK | UPDATE, DELETE, DEPLOY, MIGRATE, UNLOCK, LOCK |
...