Deploying vCenter Server 7.x with IPv6 Using JSON Fails During WCP Firstboot
search cancel

Deploying vCenter Server 7.x with IPv6 Using JSON Fails During WCP Firstboot

book

Article ID: 409563

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

When deploying vCenter Server 7.x using IPv6 addressing via JSON deployment, the installation may fail during the Workload Control Plane (WCP) firstboot phase.

  • In vCenter Server 7.0 U3t and 7.0 U3p, deployment completes, but the vSphere Client UI fails with HTTP 500 errors when accessed.

  • vCenter Server 8.x deployments using IPv6 work successfully and are not affected.

Example Errors:
/var/log/firstboot/firstbootInfrastructure.log:

YYYY-MM-DDTHH:MM:SS INFO firstbootInfrastructure Running firstboot script: ['/usr/lib/vmware-wcp/firstboot/wcp-firstboot.py' ...]
YYYY-MM-DDTHH:MM:SS INFO firstbootInfrastructure [Failed] /usr/lib/vmware-wcp/firstboot/wcp-firstboot.py is complete
YYYY-MM-DDTHH:MM:SS ERROR firstbootInfrastructure Installation of vCenter server failed with firstboot scripts

Below error seen in  /var/log/firstboot/wcp-firstboot.py_<pid>_stderr.log:

YYYY-MM-DDTHH:MM:SS ERROR starting wcp rc: 1, stderr: Start service request failed. Error: Operation timed out
YYYY-MM-DDTHH:MM:SS ERROR WCP firstboot failed

vsphere-client-virgo.log under /var/log/vmware/vsphere-ui/logs shows error Illegal character in path at index 42:

YYYY-MM-DDTHH:MM:SS ERROR com.vmware.vise.vim.security.sso.impl.SsoServiceImpl Error when fetching sts root certificates
Caused by: java.net.URISyntaxException: Illegal character in path at index 42:
http://localhost:1080/external-vecs/http1/[<hashed_ipv6>]/443/lookupservice/sdk

Catalina.log under /var/log/vmware/eam shows error: host [<hashed_ipv6>:443] is not valid

YYYY-MM-DDTHH:MM:SS INFO tomcat-http--2 AbstractProcessor The host [<hashed_ipv6>:443] is not valid
java.lang.IllegalArgumentException: null

 

Environment

 

  • vCenter Server 7.0 U3x

  • Deployment via JSON templates with IPv6-only addressing

 

Cause

The issue occurs because of incorrect handling of IPv6 host and port formatting during WCP and EAM service interactions.

  • The host header is incorrectly generated as: [<IPv6_address>:443] instead of the valid format: [<IPv6_address>]:443

  • This causes Tomcat to reject requests with IllegalArgumentException, leading to 400 Bad Request errors from EAM APIs and failure of WCP initialization.

  • This IPv6 header handling bug is present in vCenter 7.x but resolved in vCenter 8.x.

Resolution

Permanent Resolution

This issue is resolved in vCenter Server 8.x, where IPv6 deployments are supported and the WCP/EAM service handling issue is resolved.

Workaround

If going to vcenter 8.x is not immediately possible:

  • Use the FQDN of the vCenter Server instead of the raw IPv6 address during deployment.

  • This ensures proper formatting of host headers (hostname:443) and avoids the invalid IPv6 header issue.

Additional Information

 

  • This issue only affects deployments using raw IPv6 addresses.

  • Deployments with FQDN (even if DNS resolves to IPv6) work as expected.

  • Related services impacted during failure:

    • WCP

    • EAM

    • Lookup Service

  • vCenter 8.x has corrected IPv6 header parsing in Envoy/Tomcat handling logic.