"Failed to validate host spec - Insufficient free IPs" or "Failed to allocate IPs from networks with error"
search cancel

"Failed to validate host spec - Insufficient free IPs" or "Failed to allocate IPs from networks with error"

book

Article ID: 316098

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

This KB provides the instructions on how to run the script to release unused vMotion or vSAN IP addresses from the SDDC Manager network pool or how to remove the special characters in the IP address.

Symptoms:

  • Adding an ESXi host to a new or existing cluster in SDDC fails as there are no free IPs for vMotion and vSAN in the network pool.
  • One of the following errors may be observed:

    Failed to validate host spec - Insufficient free IPs for VSAN Network, Available free IPs 0: Required free IPs 1, Insufficient free IPs for VMOTION Network, Available free IPs 0: Required free IPs 1 

OR

Failed to allocate IPs from networks with error... Remediation Message: Use supported network types for IP allocation to ESXi Hosts

  • When running the "Get Network Of Network Pool" API call on the SDDC manager, the IP address for vMotion or vSAN is either: Not in the "freeIps" section of the API response or there is an unexpected value or character in the IP address in the API response.

Environment

VMware Cloud Foundation  4.x
VMware Cloud Foundation  5.x 
VMware Cloud Foundation  9.x

Cause

  • ESXi host had a PSOD and was forced to be rebuilt
  • ESXi host was removed from the SDDC Manager platform database as proper decommission was not possible
  • Extra or special characters may be found in the IP address for vMotion or vSAN of the host that cannot be added. 

Resolution

  1. Take a snapshot of the SDDC Manager 

  2. SSH into the SDDC Manager with vcf and then elevate to root with su.

  3. Copy the staleIpCleanup python script to the /home/vcf/ directory on the SDDC Manager

  4. Run the staleIpCleanup script 

    python staleIpCleanup.py 

Attachments

staleIpCleanup.py get_app