Versions Compared

Key

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

This page contains details of planning and implementation of the upgrade/rollback 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. In this way, the migration of the instance will support both an upgrade and rollback of the instance in question. 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 upgrade an instance.

  • Source Composition Definition Id - The composition that the instance is currently based on.
  • Target Composition Definition Id - 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, target composition id and the instance id exist in ACM.

Upgrade/Rollback Sequence Diagram

Note: The functionality for the upload of a new composition definition already exists

PlantUML Macro
@startuml
Title Upgrade/Rollback Sequence
participant UserRest
participant ACM
participant Participants
participant DB

group Create New Composition type for Upgrade
UserRest -> ACM : Composition Definitions
ACM -> DB : Saved Definition
UserRest -> ACM : Prime Definition
ACM -> Participants: Prime Definition
end group

group Upgrade or Rollback per Instance
/'Instance migration from source to target composition type.
Could also be rollback '/
UserRest -> ACM : Migrate Instance (InstanceId, sourceCompId, targetCompId)
note top
Instance migration from source to target 
composition type. Could also be rollback
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
  ACM -> Participants : Move from source to target compostion
  Participants -> ACM : Move completed
else
  ACM -> UserRest : 400 Bad Reqest
end
end group
@enduml