Auto deploy fails with an error "Could not boot: HTTP 4xx Client ERROR (http://ipxe.org/1d0c6498) Network error encountered while PXE booting" in vSphere 8.0U2
search cancel

Auto deploy fails with an error "Could not boot: HTTP 4xx Client ERROR (http://ipxe.org/1d0c6498) Network error encountered while PXE booting" in vSphere 8.0U2

book

Article ID: 373519

calendar_today

Updated On:

Products

VMware vCenter Server 8.0

Issue/Introduction

  • PXE boot fails for an auto-deployed ESXi host fails
  • The iPXE boot screen shows an error message:
    Could not boot: HTTP 4xx Client ERROR (http://ipxe.org/1d0c6498)
    Network error encountered while PXE booting.
  • when reviewing the auto-deploy logs, you find the following messages in rbd-cgi.log:

2024-06-26T14:15:22.341 [2831480:Thread-1 (process_request_worker)]INFO:director:('127.0.0.1', 46148) - - "POST /ID removed/vmw/rbd/host-register?bootmac=URL-encoded MAC-Address removed HTTP/1.1" 400 -
2024-06-26T14:21:07.650 [2831480:Thread-3 (process_request_worker)]INFO:director:request -- Request[{'headers_out': {}, 'uri': '/ID removed/vmw/rbd/tramp', 'environ': {'REQUEST_METHOD': 'GET', 'QUERY_STRING': ''}, 'rfile': <_io.BufferedReader name=15>, 'headers_in': <http.client.HTTPMessage object at 0x7f84b40bfd30>, 'remote_ip': 'IP removed', 'request': <socket.socket fd=15, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 34583), raddr=('127.0.0.1', 49084)>}]
2024-06-26T14:21:07.651 [2831480:Thread-3 (process_request_worker)]INFO:director:('127.0.0.1', 49084) - - "GET /ID removed/vmw/rbd/tramp HTTP/1.1" 200 -

Environment

VMware vCenter Server 8.0 Update 2

Cause

vCenter 8.0 Update 2 introduced a behavioural change towards stricter checks for the "hostname" attribute.

This attribute must adhere to the pattern '^[a-zA-Z0-9\-]{1,63}$' (alphanumeric characters and hyphens only), dots are no longer allowed - meaning the "hostname" attribute can no longer be a fully qualified domain name (FQDN), but should only consist of the actual leaf hostname.

Otherwise the PXE boot will fail with the error message above.

 

Resolution

To resolve this problem, you can chose between either of the following 2 options:

Option A - Update to vSphere 8.0 Update 3:

The change causing the issue was removed again in vSphere 8.0 Update 3, allowing PXE boot to work again when the hostname contains other than just alphanumeric characters (e.g. when it is set to the FQDN instead). This is the recommended way, and certainly the better option, especially for environments with a larger number of auto-deployed ESXi hosts.

 

Option B - When an update to vSphere 8.0 Update 3 is not possible:

Verify that the correct boot parameters are used on each host:

  1. Reboot the host
  2. As soon as the iPXE boot screen appears, press [Ctrl] + [B] as is briefly shown on the screen to open the iPXE shell
  3. Enter the command "config" to open the config utility, or alternatively run the command "show hostname" to display the current hostname if set.
  4. verify if the hostname contains non-alphanumerical characters, specifically dots (".").

If you find that the hostname displayed after either of the 2 commands contains any other characters than small letters, capital letters, numbers or hyphens ("-"), please check your DNS server and make sure that DNS only returns the leaf hostname portion as the actual hostname, and the rest (aka the domain suffix) as the domain.

Additionally, please make sure to configure that the deploy-rules in vCenter Auto-Deploy are configured accordingly.