Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
id,
  • is primed
  • the target composition
id and the instance id exist in ACM.
  • 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