This page contains details of planning and implementation of the migration functionality for instances in ACM-R. Rest interface users will be able to call a new endpoint in order to trigger the moving/migration of an instance from a source composition definition to a target composition definition. Calls to migrate the instance will take place on an instance-by-instance basis. The caller will have to supply the following parameters when making the call to migrate an instance.
- Source Composition Definition Id - The Id of the composition that the instance is currently based on.
- Target Composition Definition Id - The Id of the composition that the instance is to be migrated to.
- Instance Id - The Id of the instance that the caller wishes to migrate.
This operation will only be possible if:
- the source composition
- is primed
- the target composition
- is primed and contains the same element definitions present in the source composition
- the instance is deployed and based on the the source composition
Migration Sequence Diagram
Note: The functionality for the upload of a new composition definition already exists
PlantUML Macro |
---|
@startuml Title Migration Sequence participant UserRest participant ACM participant ParticipantsDB participant DBParticipants group Create New Composition type for Migration UserRest -> ACM : Composition Definitions ACM -> DB : Saved Definition UserRest -> ACM : Prime Definition ACM -> Participants: Prime Definition end group group Migration per Instance /'Instance migration from source to target composition type. '/ UserRest -> ACM : Migrate Instance (InstanceId, sourceCompId, targetCompId) note top Instance migration from source to target composition type. end note alt "instance Id and Composition Ids exist" ACM -> UserRest : 202 Async Operation ACM -> DB : Definition Validation (v1 no new elements/structure) ACM -> DB : Comp Def IDs change for instance and AC Element instance and AC Element will be set in a transitional state (UPGRADING) ACM -> Participants : Move from source to target compostion Participants -> ACM : Move completed ACM -> DB : instance and AC Element will be set in a final state (DEPLOYED)\n and Comp Def IDs change for instance and AC Element else ACM -> UserRest : 400 Bad Reqest end end group @enduml |