If you're running a virtualized infrastructure, you've probably hit that moment where you need OpenStack and VMware to play nice together. The good news? OpenStack Compute has built-in support for VMware vSphere, and it actually works pretty well once you get it configured.
When you connect OpenStack Compute to vSphere, you're not just getting basic VM management. You get the full suite of VMware's enterprise features—vMotion for live migrations, High Availability to keep things running when hardware fails, and Dynamic Resource Scheduling that automatically balances workloads across your cluster. This works with vSphere 4.1 and newer versions, so if you're running anything remotely recent, you're good to go.
The setup uses a vCenter driver that sits between your nova-compute service and the vCenter server. Instead of OpenStack talking directly to individual ESX hosts, it treats each cluster as a single large hypervisor. The scheduler sees clusters, not hosts, which simplifies things considerably on the OpenStack side.
Here's the interesting part: when OpenStack needs to launch a VM, it schedules it to a cluster, not a specific ESX host. The vCenter driver aggregates all the ESX hosts in a cluster and presents them as one entity to the Compute scheduler. Once a VM lands in the cluster, vCenter's DRS takes over and picks the best ESX host based on current resource availability.
This approach gives you the best of both worlds. OpenStack handles the high-level orchestration and scheduling, while vSphere handles the low-level resource optimization within each cluster. Your VMs get full access to vSphere features like snapshots, cloning, and live migration—all the things that make VMware enterprise-grade.
The configuration process focuses on setting up the vCenter driver to communicate with your vCenter server. You'll need to configure the driver to authenticate with vCenter and specify which clusters OpenStack should use. The driver manages the connection pooling and API calls to vCenter, so your nova-compute service doesn't need to know the details of VMware's API.
Each ESX host cluster becomes a compute resource in OpenStack's view. When you scale up by adding more ESX hosts to a cluster, OpenStack automatically sees the increased capacity. There's no need to reconfigure OpenStack when you expand your VMware infrastructure at the host level.
For organizations already invested in VMware, this integration means you don't have to rip and replace your existing infrastructure. You can gradually adopt OpenStack for orchestration while keeping vSphere for what it does best—managing the hypervisor layer. The scheduler works at the cluster level, which reduces complexity and lets vCenter optimize placement within clusters using its own algorithms.
The key is understanding that OpenStack and vSphere each handle different parts of the stack. OpenStack manages the overall resource allocation and scheduling decisions, while vSphere manages the actual hypervisor operations and resource optimization within clusters. Once you wrap your head around that division of responsibility, the architecture makes a lot of sense.