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 |