You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Before a migrate is carried out, we wish to check that the current state of the instance is ready for migration with a pre-check - effectively like a healthcheck.

Only once this done should we be able to trigger migrate.

Assumptions:

  • Can we assume that composition target is already primed?
  • Only the participants can execute a effective pre-check.
  • Is Pre-check completely optional? it will be executed before the migration, if it fail or the migration is not supported, can the migration be executed?
  • User needs to receive the result of the precheck.

Solution: create a new flow for migration-precheck

User can send the action migration-precheck POST. The user can do the action migration POST after that. The migration flow will be unchanged and backwards-compatible.

  • User send migration-precheck action
  • Acm-runtime set the instance in "MIGRATING-PRECHECK" deployState
  • Acm-runtime sends migration-precheck message to participants (it will be AUTOMATION_COMPOSITION_MIGRATION message with Boolean flag "precheck" set to true)
  • Participant receives migration-precheck message and executes the precheck and sends the result (it will be a new method "migratePrecheck()" that participant has to implement)
  • It will add a new NOT_VALID state in stateChangeResult
  • Acm-runtime receives precheck-result messages from all participants
  • Acm-runtime shows this result into the stateChangeResult
    • NO_ERROR: means the migration is supported (deployState will be in "DEPLOYED")
    • NOT_VALID: means the migration is not supported (deployState will be in "DEPLOYED")
    • FAILED: means something went wrong during the migration precheck (deployState will be in "MIGRATING-PRECHECK")
  • It will be implemented migratePrecheck() in participant-simulator to test all scenarios.

ACM Runtime ACM Runtime Participant Participant AutomationCompositionElementListener AutomationCompositionElementListener alt["instance Id and Composition Ids exist"] [ASYNC] Migration pre-check message from source to target composition Migrate pre-check AC Element Migrate supported / not supported [ASYNC] Migration pre-check completed Returns AUTOMATION_COMPOSITION_STATE_CHANGE message.

Allowed operations

stateChangeResultdeployState

Allowed
Operation

Not Allowed
Operation
NOT_VALIDDEPLOYEDUPDATE, UNDEPLOY, UNLOCK, MIGRATE_PRECHECKDELETE, DEPLOY, MIGRATE, LOCK
FAILEDMIGRATING-PRECHECKUNDEPLOY, MIGRATE_PRECHECKUPDATE, DELETE, DEPLOY, MIGRATE, UNLOCK, LOCK
TIMEOUTMIGRATING-PRECHECKUNDEPLOY, MIGRATE_PRECHECKUPDATE, DELETE, DEPLOY, MIGRATE, UNLOCK, LOCK

How the user can send the action migration-precheck POST?

Below the list of solutions:

  • parameter in POST action: {{address}}:{{port}}/onap/policy/clamp/acm/v2/compositions/{{compositionId}}/instances?precheck=true
  • new filed into the Body:
name: DemoInstance0
version: 1.0.1
compositionId: {{composition1Id}}
instanceId: {{instanceId}}
compositionTargetId: {{composition2Id}}
precheck: true
.......................
  • No labels