Versions Compared

Key

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

...

  • Migrate VM: via destination host (TODO)
  • Migrate Volume: via other host (TODO)
  • Copy Command: via other host on same cluster or pod or zone, depends on the scope of storage, or cluster of host (TODO)


3.7 Limitations


  • Assumption
    • Each request does not have multiple commands with same name
  • Only support:
    • CopyCommand, MigrateCommand, MigrateVolumeCommand
    Only support the
    • resources in Migration state (vm, source volume, dest volume)
    Only support
    • Hypervisor: KVM
    • Storage: NFS, Local, Powerflex


4. Test cases


Please note: 

Migration between NFS and Local requires the fix: https://github.com/apache/cloudstack/pull/10266


NFS to NFSNFS to LocalLocal to LocalLocal to NFSPowerflex to PowerflexPowerflex to NFSNFS to Powerflex
Migrate VM

PrepareForMigrationCommand (dest)

MigrateCommand (source)

---
MigrateCommand

PrepareForMigrationCommand (dest)

MigrateCommand (source)

--
Migrate VM with volumes

CopyCommand (template to primary if needed)

CreateObjectCommand (new volume)

ModifyTargetsCommand

PrepareForMigrationCommand (dest)

MigrateCommand (source)

Migrate ROOT Volume (of Running VM)

DeleteCommand (source)

same as "NFS to NFS"same as "NFS to NFS"same as "NFS to NFS"


Migrate ROOT
Migrate ROOT Volume (of Stopped VM)Migrate DATA
Volume (of Running VM)
Migrate DATA Volume (of Stopped VM)Migrate DATA Volume (unattached)
KVM does not support volume live migrationdue to the limited possibility to refresh VM XML domain. Therefore, to live migrate a volume between storage pools, one must migrate the VM to a different host as well to force the VM XML domain update. Use 'migrateVirtualMachineWithVolumes' instead.samesamesame


Migrate ROOT Volume (of Stopped VM)

CopyCommand (primary1 to secondary)

CopyCommand (secondary to primary2)

DeleteCommand (secondary)

DeleteCommand (primary1)

samesamesame










Migrate DATA Volume (of Running VM)KVM does not support volume live migrationdue to the limited possibility to refresh VM XML domain. Therefore, to live migrate a volume between storage pools, one must migrate the VM to a different host as well to force the VM XML domain update. Use 'migrateVirtualMachineWithVolumes' instead.samesamesame


Migrate DATA Volume (of Stopped VM)

CopyCommand (primary1 to secondary)

CopyCommand (secondary to primary2)

DeleteCommand (secondary)

DeleteCommand (primary1)

samesamesame


Migrate DATA Volume (unattached)

CopyCommand (primary1 to secondary)

CopyCommand (secondary to primary2)

DeleteCommand (secondary)

DeleteCommand (primary1)

samesamesame