Unable to set reservation on Org VDC
Last week, we got a message from one of our customers that they could not start a VM. They got this error:
Admission control failed for VRP:[name: <Resource Pool> (b21bf608-a416-4a8e-a6ae-9b474d7e9ba6), id: b21bf608-a416-4a8e-a6ae-9b474d7e9ba6] during the deployment of VMs:[[[vcId=24532cdd-a468-49b9-8ef6-cc04f25e7989, moref=vm-46398]]]. Total CPU required for all VMs in the VRP including current VM(s) being deployed [5,200MHz] is greater than VRP maxResourceValue 0MHz.
The first thing I did was to see if this was a known issue. I stumbled upon this article: https://knowledge.broadcom.com/external/article/388325/error-total-memory-required-for-all-vms.html
The article says that this matter is documented in the Cloud Director 10.6.1 release notes as a resolved issue. OK, so it is known and indeed, we did do an upgrade of VCD.
The resolution is to configure a reservation on the org VDC. So that is what I tried. And I say, tried because when I configured the reservation I got another error:
There are insufficient CPU resources to complete the operation.
And in vCenter I saw this error:
The amount of CPU resources available in the parent resource pool is insufficient for the operation.
After some digging I found the cause for these errors.
Solution
When you set a CPU reservation in the Org VDC like this…

The reservation is set on the resource pool of the Org VDC. But it will disable the Expandable setting on the Reservation Type. So, the reservation must be equal or bigger than the current reservations of the VMs in the Org VDC. And even without a reservation on the Org VDC, a tenant can still configure reservations on the VM level.
So in order to set the reservation, look at the resource allocation of the resource pool that is used for the Org VDC.

Make sure that the set percentage gives you a bigger configured reservation than the currently used reservation.