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