VMware Cloud Community
Windspirit
Hot Shot
Hot Shot
Jump to solution

vRA 8 Memory Overprovisioing NOT WORKING!

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

Labels (1)
Tags (3)
Reply
0 Kudos
1 Solution

Accepted Solutions
Windspirit
Hot Shot
Hot Shot
Jump to solution

VMware support just came back with this:

https://docs.vmware.com/en/vRealize-Automation/SaaS/Using-and-Managing-Cloud-Assembly/GUID-56164B07-...

however:

  • the no entries in  /iaas/api/configuration-properties to start with
  • setting PREVENT_COMPUTE_MEMORY_OVERALLOCATION = false -> No Change
  • Setting DEFAULT_MAX_ALLOWED_COMPUTE_MEMORY_ALLOCATION_PERCENT = 150 -> No Change

The solution is to set :

PREVENT_COMPUTE_MEMORY_OVERALLOCATION = true

Either I'm reading this wrong or I dont know....anyway. SOLVED.

THANKS Support 

View solution in original post

8 Replies
Windspirit
Hot Shot
Hot Shot
Jump to solution

I would have expected that a 0 (zero) would ignore ALL limitations./..looks like it doesn't.

Reply
0 Kudos
Windspirit
Hot Shot
Hot Shot
Jump to solution

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.

 
 

Capture.PNG

-----

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

 

 

Reply
0 Kudos
RebeccaW
Enthusiast
Enthusiast
Jump to solution

Would Deployment Limit policies override this? 

Windspirit
Hot Shot
Hot Shot
Jump to solution

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!

Reply
0 Kudos
Windspirit
Hot Shot
Hot Shot
Jump to solution

VMware support just came back with this:

https://docs.vmware.com/en/vRealize-Automation/SaaS/Using-and-Managing-Cloud-Assembly/GUID-56164B07-...

however:

  • the no entries in  /iaas/api/configuration-properties to start with
  • setting PREVENT_COMPUTE_MEMORY_OVERALLOCATION = false -> No Change
  • Setting DEFAULT_MAX_ALLOWED_COMPUTE_MEMORY_ALLOCATION_PERCENT = 150 -> No Change

The solution is to set :

PREVENT_COMPUTE_MEMORY_OVERALLOCATION = true

Either I'm reading this wrong or I dont know....anyway. SOLVED.

THANKS Support 

xian_
Expert
Expert
Jump to solution

I'd expect the flag to work the opposite way, based on its name and documentation.

Reply
0 Kudos
Windspirit
Hot Shot
Hot Shot
Jump to solution

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).

Reply
0 Kudos
Windspirit
Hot Shot
Hot Shot
Jump to solution

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"}

Reply
0 Kudos