Hi, I'm try to create an NSX Controller, but every time it's fail and say that U don't have enough memory but I increasd the memory and the storage and every time I get this error message:
VMPowerOnException: core-services:1502:Failed to power on VM SA-Cluster-NSX-controller-7: The host does not have sufficient memory resources to satisfy the reservation..:The host does not have sufficient memory resources to satisfy the reservation.
If someone have any idea how to fix it I'll be very thankfull.
Change the deafult reservation from NSX Manager to avoid the reservation for the controllers.
You can do this changing this parameter using an API Call:
https://docs.vmware.com/en/VMware-NSX-Data-Center-for-vSphere/6.2/nsx_62_api.pdf
You can follow this blog if you never used this before: https://rutgerblom.com/2019/06/16/getting-started-with-the-nsx-t-api-and-postman/
Do this:
GET https://NSX-Manager-IP-Address/api/4.0/edgePublish/tuningConfiguration
Response Body:
<tuningConfiguration>
<lockUpdatesOnEdge>false</lockUpdatesOnEdge>
<aggregatePublishing>true</aggregatePublishing>
<edgeVMHealthCheckIntervalInMin>0</edgeVMHealthCheckIntervalInMin>
<healthCheckCommandTimeoutInMs>120000</healthCheckCommandTimeoutInMs>
<maxParallelVixCallsForHealthCheck>25</maxParallelVixCallsForHealthCheck>
<publishingTimeoutInMs>1200000</publishingTimeoutInMs>
<edgeVCpuReservationPercentage>100</edgeVCpuReservationPercentage>
<edgeMemoryReservationPercentage>100</edgeMemoryReservationPercentage>
<megaHertzPerVCpu>1000</megaHertzPerVCpu>
</tuningConfiguration
Then you do a PUT, to change the configuration (Highligted in red)
PUT https://NSX-Manager-IP-Address/api/4.0/edgePublish/tuningConfiguration
Response Body:
<tuningConfiguration>
<lockUpdatesOnEdge>false</lockUpdatesOnEdge>
<aggregatePublishing>true</aggregatePublishing>
<edgeVMHealthCheckIntervalInMin>0</edgeVMHealthCheckIntervalInMin>
<healthCheckCommandTimeoutInMs>120000</healthCheckCommandTimeoutInMs>
<maxParallelVixCallsForHealthCheck>25</maxParallelVixCallsForHealthCheck>
<publishingTimeoutInMs>1200000</publishingTimeoutInMs>
<edgeVCpuReservationPercentage>0</edgeVCpuReservationPercentage>
<edgeMemoryReservationPercentage>0</edgeMemoryReservationPercentage>
<megaHertzPerVCpu>1000</megaHertzPerVCpu>
</tuningConfiguration
They do the controller provision again and should work
Cheers
N
You need to adjust your vsphere HA settings to fix this issue . VMware Knowledge Base
The error message still appear every time I try... do you have any other idea?
Maybe that connection to that the NSX not on the shared storage?
Remove the memory reservation on this VM.
Change the deafult reservation from NSX Manager to avoid the reservation for the controllers.
You can do this changing this parameter using an API Call:
https://docs.vmware.com/en/VMware-NSX-Data-Center-for-vSphere/6.2/nsx_62_api.pdf
You can follow this blog if you never used this before: https://rutgerblom.com/2019/06/16/getting-started-with-the-nsx-t-api-and-postman/
Do this:
GET https://NSX-Manager-IP-Address/api/4.0/edgePublish/tuningConfiguration
Response Body:
<tuningConfiguration>
<lockUpdatesOnEdge>false</lockUpdatesOnEdge>
<aggregatePublishing>true</aggregatePublishing>
<edgeVMHealthCheckIntervalInMin>0</edgeVMHealthCheckIntervalInMin>
<healthCheckCommandTimeoutInMs>120000</healthCheckCommandTimeoutInMs>
<maxParallelVixCallsForHealthCheck>25</maxParallelVixCallsForHealthCheck>
<publishingTimeoutInMs>1200000</publishingTimeoutInMs>
<edgeVCpuReservationPercentage>100</edgeVCpuReservationPercentage>
<edgeMemoryReservationPercentage>100</edgeMemoryReservationPercentage>
<megaHertzPerVCpu>1000</megaHertzPerVCpu>
</tuningConfiguration
Then you do a PUT, to change the configuration (Highligted in red)
PUT https://NSX-Manager-IP-Address/api/4.0/edgePublish/tuningConfiguration
Response Body:
<tuningConfiguration>
<lockUpdatesOnEdge>false</lockUpdatesOnEdge>
<aggregatePublishing>true</aggregatePublishing>
<edgeVMHealthCheckIntervalInMin>0</edgeVMHealthCheckIntervalInMin>
<healthCheckCommandTimeoutInMs>120000</healthCheckCommandTimeoutInMs>
<maxParallelVixCallsForHealthCheck>25</maxParallelVixCallsForHealthCheck>
<publishingTimeoutInMs>1200000</publishingTimeoutInMs>
<edgeVCpuReservationPercentage>0</edgeVCpuReservationPercentage>
<edgeMemoryReservationPercentage>0</edgeMemoryReservationPercentage>
<megaHertzPerVCpu>1000</megaHertzPerVCpu>
</tuningConfiguration
They do the controller provision again and should work
Cheers
N
I have NSX-V, have any different between NSX-V to NSX-T in postman installation?
To the VM don't have any reservation
It is the same... just download postman or any other client and run the GET and PUT shared above
Did you try simply to move it to another host and try to power it on? I was having similar issue previously and when I move the controller to different host it work normally.