CloudStack#

Coriolis integrates the platform Plugin on the Appliance itself, this way there is no need for agents to be deployed on platforms to establish the communication between the platform and the Coriolis components. Using this type of architecture, Coriolis guarantees the connection to the supported platform set up to be used as either Source or Destination, as long as the requirements are met.

Scope and limitations#

Topic

Notes

Direction

Import into CloudStack only

Hypervisor

KVM zones; CloudStack 4.21 or newer recommended

Offerings

Disk, minion, and migrated VM offerings must each be pre-created and chosen explicitly in Coriolis settings

Minion offering

One minion compute offering is used for data replication and for OS morphing (Linux and Windows)

Disk offering

Must be a custom (flexible-size) offering; fixed-size disk offerings are not supported

OS morphing

Supported for common Linux distributions and Windows; validate in your environment before production use

CloudStack prerequisites#

Item

Requirement

API access

Coriolis can reach the CloudStack API over HTTPS

API permissions

Volumes, VMs, templates, offerings, networks, public IPs, firewall, static NAT, snapshots

Zone

Selected per Transfer; determines templates, offerings, networks, and storage

Offerings

Custom disk offering plus compute offerings for minion and migrated VM — see Disk and compute offerings

Templates

Linux: zone cloud-init template (defaults work); Windows: custom WS2022+ template for morphing — see Recommended Minions

Primary storage

KVM storage pools mapped in Coriolis storage mappings

Public IPs

Account can allocate public IPs for temporary workers in the target zone

Required CloudStack Permissions#

Coriolis requires a CloudStack user with the native Admin - Read-Only role, supplemented with the following additional permissions.

These permissions allow Coriolis to perform the operations required for virtual machine migration, including managing compute resources, storage volumes and snapshots, and network connectivity.

Virtual Machine

Storage

Network

deployVirtualMachine

createVolume

startVirtualMachine

deleteVolume

associateIpAddress

stopVirtualMachine

resizeVolume

disassociateIpAddress

updateVirtualMachine

attachVolume

enableStaticNat

destroyVirtualMachine

detachVolume

disableStaticNat

expungeVirtualMachine

createSnapshot

createFirewallRule

addNicToVirtualMachine

deleteSnapshot

deleteFirewallRule

listGuestOsMapping

listStoragePools

Note

The Admin - Read-Only role provides the baseline read-only access. The permissions listed above must be granted in addition to that role to enable Coriolis migration operations.

Endpoint connection#

Coriolis connection to CloudStack requires a user account that has generated API keys and secrets. For more details, access this CloudStack documentation page: Using API Key and Secret Key based Authentication

Create a CloudStack destination endpoint in Coriolis with:

Field

Value

API Endpoint

CloudStack API URL (for example https://cloudstack.example.com/client/api)

API Key

API key for the migration account

API Secret

Matching API secret

CloudStack as a destination cloud#

For more information on using CloudStack as a destination cloud for Replica/Migration, please check the CloudStack as a destination cloud page.