What actually happens behind the scenes when I deploy a VM in CloudStack?

CloudStack has to coordinate several components.

At a high level:


User/API
   ↓
CloudStack Management Server
   ↓
Selects resources
   ↓
Selects Host + Primary Storage
   ↓
Gets template from Secondary Storage
   ↓
Creates VM disk
   ↓
Configures networking
   ↓
Starts VM

CloudStack considers things such as:

  • Service Offering

  • Template

  • Disk Offering

  • Available host capacity

  • Storage availability

  • Network configuration

  • VM placement rules

So a failed VM deployment doesn’t necessarily mean the KVM host itself is broken. The failure could happen at the template, storage, capacity, networking, or placement layer.