Hi all,
when provisioning a new VM from Cloud Template I get "No placement exists that satisfies all of the request requirements" if I choose more mem then the ESXi (not Cluster) has left. in 7.x I could just set the reservation policy higher and then have no issue with overprovisioning.
I fail to find anything in vRA 8...Basically, I would like to tell vRA to IGNORE any CPU and Mem constraints of the Infra below.
Its properly strait forward...but I just cant find it.
Daniel
VMware support just came back with this:
however:
The solution is to set :
PREVENT_COMPUTE_MEMORY_OVERALLOCATION = true
Either I'm reading this wrong or I dont know....anyway. SOLVED.
THANKS Support
I would have expected that a 0 (zero) would ignore ALL limitations./..looks like it doesn't.
So...I did a lot of experiments. And it turns out vRA doesn't support overprovisioning.
Neither as a Cluster nor as a single ESXi.
A ESXi host with 16GB can only have 16GB - ESXi Overhead, and a cluster 16GB - overhead - vCLI VM memory
This sucks quite hard, as the point of virtualization IS overprovisioning.
-----
formatVersion: 1
inputs: {}
resources:
Cloud_vSphere_Machine_1:
type: Cloud.vSphere.Machine
properties:
image: dl-test
cpuCount: 2
totalMemoryMB: 16384
constraints:
- tag: test
networks:
- network: ${resource.Cloud_vSphere_Network_1.id}
assignment: dynamic
Cloud_vSphere_Network_1:
type: Cloud.vSphere.Network
properties:
networkType: existing
constraints:
- tag: ProdNetwork
-----
Not selected because:
flavor filter: not enough memory, requested '17,179,869,184' but only '12,312,379,392' is available
Would Deployment Limit policies override this?
good call! thanks
just tested with Resource Quota and Deployment Limit. Sadly both don't work for the problem. They affect the max limit for something ...but vRA seems to check beforehand the available Mem and then just quits.
I just wonder why overprovisioning would not be allowed via vRA...that's the whole idea (and COST BENEFIT) of Virtualization!
VMware support just came back with this:
however:
The solution is to set :
PREVENT_COMPUTE_MEMORY_OVERALLOCATION = true
Either I'm reading this wrong or I dont know....anyway. SOLVED.
THANKS Support
I'd expect the flag to work the opposite way, based on its name and documentation.
YAP! me too.
BUT it works with true. Tested and working. What surprises me is that this is NOT a Global (visible in the GUI) setting. Quite a lot of my customers use vRA for DEV and in DEV Overprovisioning is what you want. But then this hasn't come up yet as they have BEASTS of Servers (2TB, 128 Cores).
GET API Version:
goto https://[vra FQDN]/iaas/api/swagger/ui/
the API version is in the top right: for 8.10.1 it was 2021-7-15
Run REST Call
PATCH : /iaas/api/configuration-properties?apiVersion=2021-07-15
{"key":"PREVENT_COMPUTE_MEMORY_OVERALLOCATION","value":"true"}
{"key":"DEFAULT_MAX_ALLOWED_COMPUTE_MEMORY_ALLOCATION_PERCENT","value":"150"}