vCenter Pre-upgrade check failed due the following problem: Error in method invocation [Errno 104] Connection reset by peer
search cancel

vCenter Pre-upgrade check failed due the following problem: Error in method invocation [Errno 104] Connection reset by peer

book

Article ID: 383935

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Upgrading to vCenter Server or ESXi 8.0 requires an additional precheck. The precheck ensures the port connectivity check to the source ESXi host to verify that the source appliance is ready for upgrade. 

If there is a connectivity issue, vCenter upgrade precheck will fail with below error message 

Pre-upgrade check failed due the following problem: Error in method invocation [Errno 104] Connection reset by peer

Reviewing the temporary vCenter /var/log/vmware/upgrade/upgrade-requirements.log, the impacted FQDN cannot be reachable from the temporary vCenter IP address over the network

2024-10-25T16:43:40.239Z ERROR transport.guestops Failed to download from https://FQDN:443/guestFile?id=41&token=52100f37-a7da-add2-2c60-7071f3c4adf241: [Errno 110] Connection timed out
Traceback (most recent call last):
  File "/usr/lib/python3.10/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.10/http/client.py", line 1283, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1329, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output
    self.send(msg)
  File "/usr/lib/python3.10/http/client.py", line 976, in send
    self.connect()
  File "/usr/lib/python3.10/http/client.py", line 1455, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "/usr/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/lib/python3.10/ssl.py", line 1100, in _create
    self.do_handshake()
  File "/usr/lib/python3.10/ssl.py", line 1371, in do_handshake
    self._sslobj.do_handshake()
TimeoutError: [Errno 110] Connection timed out

Environment

VMware vCenter Server
VMware vSphere ESXi

Cause

The upgrade process establishes an HTTPS connection to the source ESXi host to verify that the source appliance is ready for upgrade and to set up an SSH connection between the new and the existing appliance. If the port communication is blocked by firewall, the upgrade process cannot reach out to the source vCenter or ESXi host to validate the application configuration.

Resolution

Verify port 443 is open on the source ESXi host on which the source vCenter appliance resides that is planned to be upgraded. 

Ensure upgrade requirements are validated for port connectivity check Refer : Prerequisites for Upgrading the vCenter Server Appliance

Note: When upgrading, the temporary vCenter Server instance requires the same access rights as the permanent vCenter Server instance to port 443. Ensure that any firewalls in the environment allows both the temporary and permanent vCenter Server instances to access port 443.

Commands to validate the connectivity from temporary vCenter to Source ESXi host and vCenter over port 443

openssl s_client -connect <FQDN>:443

Note: Replace the <FQDN> with source ESXi host and vCenter to ensure the output shows a valid certificate if successfully connected.

For unsuccessful connection, it either returns an error a command being returned no output or no certificate output

openssl s_client -connect <FQDN>:443
write:errorno=104