GET /policy/api/v1/infra/ip-pools/<pool-uuid>/ip-allocations/
/var/log/proton/nsxapi.log
: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, {}.
...
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>
VMware NSX-T Data Center 3.x
VMware NSX 4.x
The issue arises because a FORCE delete operation does not automatically release the TEP IP addresses back into the IP pool.
This issue is resolved in:
Workaround:
To manually release the IP addresses from the TEP pool, follow these steps:
Method 1: Using API Calls from "Postman" or any API client
GET https://<nsx-ip>/api/v1/pools/
GET https://<nsx-ip>/api/v1/pools/ip-pools/<IP-Pool-UUID>/allocations
Release IP Addresses:
Use the following API call to release specific IP addresses from the pool:
POST https://<nsx-ip>/api/v1/pools/ip-pools/<pool-id>?action=RELEASE
Request Body:
{
"allocation_id": "192.1XX.X.3"
}
Note: Replace 192.1XX.X.3
with the IP address you wish to release from the pool.
Verify IP Release:
To confirm that the IP addresses have been released, use this API call:
GET https://<nsx-ip>/api/v1/pools/ip-pools/<IP-Pool-UUID>/allocations
curl
Commands curl -k -u admin -H "Content-Type: application/json" -X GET https://<nsx-ip>/api/v1/pools/
Check IP Allocation List:
Retrieve the list of allocated IPs in the specified pool with:
cur -k -u admin -H "Content-Type: application/json" -X GET https://<mgr-ip>/api/v1/pools/ip-pools/<pool-id>/allocations > filename.txt
Check Discovered Nodes:
Retrieve the list of discovered nodes with:
curl -k -u admin -H "Content-Type: application/json" -X GET https://<nsx-api>/policy/api/v1/fabric/discovered-nodes > filename.txt
Release IP Addresses:
Use this curl
command to release a specific IP address from the pool:
curl -k -u admin -H "Content-Type: application/json" -X POST https://<nsx-ip>/api/v1/pools/ip-pools/<pool-id>?action=RELEASE -d '{"allocation_id":"<stale-ip>"}'
Note: Replace <stale-ip>
with the IP address you wish to release from the pool.
Verify IP Release:
To verify that the IP addresses have been released, use the following command:
cur -k -u admin -H "Content-Type: application/json" -X GET https://<mgr-ip>/api/v1/pools/ip-pools/<pool-id>/allocations
If you continue to experience issues or need further assistance, please open a case with Broadcom support.