After deleting an Edge node from vCenter before removing it from NSX-T, the Tunnel Endpoint (TEP) IP addresses remain allocated in the IP pool. This prevents new Edge deployments or reconfigurations due to IP pool exhaustion.
Symptoms include:
Steps to validate:
# Check for MP5109 errors in syslog
grep "MP5109" /var/log/syslog*
# Check for MP5109 errors in nsxapi logs
grep "MP5109" /var/log/proton/nsxapi.*
Error messages in logs:
In /var/log/proton/nsxapi.log:
ERROR L2HostConfigTaskExecutor5 IPAMServiceImpl 4433 POOL-MGMT [nsx@6876 comp="nsx-manager" errorCode="MP5109" level="ERROR" subcomp="manager"] Insufficient Resource Exception : no free IP found to allocate from the pool IpPool/<IP-Pool-UUID>
ERROR L2HostConfigTaskExecutor2 IPAMUtils 4433 FABRIC [nsx@6876 comp="nsx-manager" errorCode="MP8212" level="ERROR" subcomp="manager"] Failed to get a valid IP from IpPool IpPool/<IP-Pool-UUID> with cidr null, {}.
In /var/log/syslog:
2025-07-15T02:13:29.057Z WARN L2HostConfigTaskExecutor4 IPAMServiceImpl 5140 POOL-MGMT [nsx@6876 comp="nsx-manager" level="WARNING" subcomp="manager"] Allocation failed for subnet string_id: "<subnet-UUID>" . Retrying from next subnet
2025-07-15T02:13:29.057Z ERROR L2HostConfigTaskExecutor4 IPAMServiceImpl 5140 POOL-MGMT [nsx@6876 comp="nsx-manager" errorCode="MP5109" level="ERROR" subcomp="manager"] Insufficient Resource Exception : no free IP found to allocate from the pool IpPool/<IP-Pool-UUID>.
2025-07-15T02:13:29.057Z ERROR L2HostConfigTaskExecutor4 IPAMUtils 5140 FABRIC [nsx@6876 comp="nsx-manager" errorCode="MP8212" level="ERROR" subcomp="manager"] Failed to get a valid IP from IpPool IpPool/<IP-Pool-UUID> with cidr null, {}.
com.vmware.nsx.management.common.exceptions.InsufficientResourcesException: null
at com.vmware.nsx.management.idas.ipam.service.IPAMServiceImpl.allocate(IPAMServiceImpl.java:105) ~[?:?]
at com.vmware.nsx.management.switching.sync.host.IPAMUtils.ufoAllocateIpFromPool(IPAMUtils.java:63) ~[?:?]
at com.vmware.nsx.management.switching.sync.host.VtepPopulator.allocateResourcesToNewVteps(VtepPopulator.java:436) ~[?:?]
The Edge node was deleted from vCenter first before proper cleanup in NSX-T. This incorrect deletion sequence causes:
Remove stale Edge entries from the NSX Manager using the API available from NSX-T 3.2.1:
curl -u admin -k -X POST https://127.0.0.1/api/v1/transport-nodes?action=clean_stale_entries
Reference: Cleanup Stale Edge Nodes present in the NSX-T UI from the Corfu database
Get the IP pool UUID:
curl -u admin -k -X GET https://127.0.0.1/api/v1/pools/ip-pools/
Check current IP allocations in the pool:
curl -u admin -k -X GET https://127.0.0.1/api/v1/pools/ip-pools/<IP-Pool-UUID>/allocations
Release each stale IP address from the pool:
curl -u admin -k -X POST "https://127.0.0.1/api/v1/pools/ip-pools/<IP-Pool-UUID>?action=RELEASE" \
-H "Content-Type: application/json" \
-d '{"allocation_id": "<IP-ADDRESS>"}'
Replace <IP-Pool-UUID> with the actual pool ID and <IP-ADDRESS> with each stale IP that needs to be released.
Confirm the IP addresses have been released:
curl -u admin -k -X GET https://127.0.0.1/api/v1/pools/ip-pools/<IP-Pool-UUID>/allocations
After releasing the IP addresses, the Edge node configuration should complete successfully. Navigate to the Edge node in the NSX-T UI and click Edit to reconfigure.
Important: If the error persists after following these steps, contact Broadcom Support for further assistance.