This page contains details of planning and implementation of the upgrade/rollback 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. 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 migrate 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.
Migration Sequence Diagram
Note: The functionality for the upload of a new composition definition already exists
PlantUML Macro |
---|
@startuml Title Upgrade/RollbackMigration 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 orMigration 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 |