Adding an ESXi host to an existing workload domain fails via API Message: Failed to validate ESXi Host(s) spec. Remediation Message: Make sure a correct ESXi Host(s) spec is provided.
search cancel

Adding an ESXi host to an existing workload domain fails via API Message: Failed to validate ESXi Host(s) spec. Remediation Message: Make sure a correct ESXi Host(s) spec is provided.

book

Article ID: 442593

calendar_today

Updated On:

Products

VMware SDDC Manager / VCF Installer

Issue/Introduction

  • When attempting to add a host to the cluster, the API call failed and returned the following error string:

Message: Failed to validate ESXi Host(s) spec. Remediation Message: Make sure a correct ESXi Host(s) spec is provided.

 

  • /var/log/vmware/vcf/domainmanager/domainmanger.log file of the SDDC manager, the following entries are observed:


 [YYYY-MM-DDTHH:MM:SS] INFO  [vcf_dm,6a158ab5dbc65ccf075958a9dc4d099e,8a23] [c.v.e.s.c.s.a.n.NetworkPoolAdapterImpl,dm-exec-18]  Fetching the networks associated with the network pool xxxxxx.
 [YYYY-MM-DDTHH:MM:SS]INFO  [vcf_dm,6a158ab5dbc65ccf075958a9dc4d099e,8a23] [c.v.e.s.c.s.a.n.NetworkPoolAdapterImpl,dm-exec-18]  Found 1 reserved IPs for network xxxxx-xxxx-xxxx-xxxxx-xxxxx by excluding already reserved IPs for execution with ID xxxxx-xxxx-xxxx-xxxxx-xxxxx.
 [YYYY-MM-DDTHH:MM:SS]ERROR [vcf_dm,6a158ab5dbc65ccf075958a9dc4d099e,8a23] [c.v.v.h.s.v.HostNetworkPoolValidator,dm-exec-18]  Insufficient free IPs for VMOTION Network. Available IPs 1, Reserved IPs 1, Required IPs 1. Execution ID xxxxx-xxxx-xxxx-xxxx-xxxxxx.
 [YYYY-MM-DDTHH:MM:SS]INFO  [vcf_dm,6a158ab5dbc65ccf075958a9dc4d099e,8a23] [c.v.e.s.c.s.a.n.NetworkPoolAdapterImpl,dm-exec-18]  Found 1 reserved IPs for network xxxx-xxxx-xxxx-xxxx by excluding already reserved IPs for execution with ID xxxxx-xxxx-xxxx-xxxx-xxxxxx.
 [YYYY-MM-DDTHH:MM:SS]ERROR [vcf_dm,6a158ab5dbc65ccf075958a9dc4d099e,8a23] [c.v.v.h.s.v.HostNetworkPoolValidator,dm-exec-18]  Insufficient free IPs for VSAN Network. Available IPs 1, Reserved IPs 1, Required IPs 1. Execution ID xxxx-xxxx-xxxx-xxxx-xxxxx.

  • We do have sufficient ip address in the target network pool for both vmotion and vsan.

Environment

VMware Cloud Foundation 5.x

Cause

The failure was caused by an incorrectly formatted or fragmented ip_inclusion_ranges entry for the target network within the SDDC Manager PostgreSQL database.

A query of the vcf_network table in the SDDC Manager database revealed that the ip_inclusion_ranges for the provided VLAN ID was split into multiple, fragmented ranges rather than a single contiguous block. For example, the database showed the range formatted as:

[{"start":"1.1.1.68","end":"1.1.1.70"},{"start":"1.1.1.71","end":"1.1.1.71"}]

This fragmentation prevented the API payload validation from successfully parsing the host's network specification.

Resolution

To resolve the issue, the ip_inclusion_ranges value needs to be corrected directly within the SDDC Manager database.

  • SSH into the SDDC Manager appliance and switch to the root user.
  • Connect to the SDDC platform database:

         psql -h localhost -U postgres -d platform

  • Locate the specific Network ID and verify the current format by running: 

     select id, name, ip_inclusion_ranges from vcf_network where vlan_id='<VLAN_ID>';

  • Update the record to consolidate the IPs into a single, correctly formatted range:

    update vcf_network SET ip_inclusion_ranges='[{"start":"xxx.xxx.xx.x","end":"xxx.xxx.xx.xxx"}]' where id='<NETWORK_ID>';

  • Retry adding the Esxi host to the cluster via API.