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

YYYY:MM:DD ERROR transport.guestops Failed to download from https://FQDN:443/guestFile?id=41&token=53############f241: [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 a 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 a firewall, the upgrade process cannot reach out to the source vCenter or ESXi host to validate the application configuration.

Resolution

Ensure that ports 443 and 902 are open for communication between the source and target appliances, as well as between the vCenter managing the source appliance.

Ensure upgrade requirements are validated for the 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 and 902. Ensure that any firewalls in the environment allow both the temporary and permanent vCenter Server instances to access port 443 and 902.

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

openssl s_client -connect <FQDN>:443

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

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

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