Smarter VM Placement with Guest OS Awareness

VMware released a new VCD version 10.6.1 with very interesting improvements. I was intrigued by this particular one. I quote a post from VMware’s blog below.

https://blogs.vmware.com/cloudprovider/2025/02/vmware-cloud-director-10-6-1-is-here-whats-new.html

Smarter VM Placement with Guest OS Awareness

Now, you can easily place virtual machines (VMs) on specific hosts or clusters based on their guest operating system. With this feature, system administrators can define VM Groups for specific OS types ensuring proper placement and compliance across all tenants. This also helps organizations stay aligned with Microsoft and other vendor licensing requirements, simplifying compliance while optimizing resource management.

Use case:

  • Automatic enforcement ensures that VMs are always placed in their designated groups.
  • Seamless reconfiguration means existing VMs will adopt this placement rule the next time they undergo a reconfiguration, such as a power cycle or VM edit.

This feature enhances workload distribution and simplifies multi-tenant management, giving you greater control over VM performance and security.

Very good, but how and where! Google searches returned zero entries and I also found nothing in the official documentation. Finally I came across a small sentence on how to enable the new feature using the API.

So let’s start digging!

Finding Right API.

Also Google searches returned zero entries. Finally found some info in VCD API documentation which you can access via https://vcd.link/docs .

Nothing much, but it gives a starting point. The API description itself doesn’t give much information, as it lacks descriptions of the parameters to use.

The easiest way to access it is to use the built-in API explorer available from the VCD UI.

But here we are missing a very important piece of the puzzle. Guest operating systems list! Without them, we cannot make an API request.

Finding Guest OS List.

This can be found by making an API request for the supported HW type, which also returns the Guest OS list. Hooray!

Connecting Guest OS with VM Groups.

Finally, we can create a relationship between the Guest OS and vCenter VM groups.

Now, you can easily place virtual machines (VMs) on specific hosts or clusters based on their guest operating system. With this feature, system administrators can define VM Groups for specific OS types ensuring proper placement and compliance across all tenants.

You can use this API to check if you have VM groups in place.

Now it’s time to make main API call which will map all needed stuff in correct places.

Linux OS

Windows OS

Next time when you create new VM or recompose existing vApp placement rules will be applied.

Leave a Reply

Your email address will not be published. Required fields are marked *

I’m Aigars

Welcome to Virtualisation Alley, my cozy corner of the internet dedicated to VMware. Here, I invite you to join me on a journey into virtual world. Let’s go.

Let’s connect