no healthy upstream
Failed to connect to source vCenter
service-control --status --all Stopped: vmware-vpxd vmware-vpxd-svcs vmware-vapi-endpoint vmware-content-library ... Running: vmafdd vmcad vmdird vmware-stsd lookupsvc vmware-vpostgres vmware-envoy ...
error vpxd[#####] [sub=SsoWrapper] [AcquireToken] AcquireToken exception: InvalidCredentialsException(Authentication failed: Invalid credentials) warning vpxd[#####] [sub=IO.Connection] Failed to SSL handshake; ... certificate verify failed error vpxd[#####] [sub=Default] Failed to start VMware VirtualCenter. Shutting down
warning vpxd[#####] [opID=CheckCertificateExpiry] Certificate [Subject: CN=<enterprise-CA-name>] from store TRUSTED_ROOTS will expire on YYYY-MM-DD
A certificate can never be trusted for longer than the certificate authority (CA) certificate that signs it. In a hybrid certificate configuration, the Machine SSL certificate that vCenter Server presents on port 443 is signed by an external CA, while the solution-user certificates remain signed by the built-in VMware Certificate Authority (VMCA).
When the external CA certificate in the VMware Endpoint Certificate Store (VECS) TRUSTED_ROOTS store expires, the Machine SSL certificate is no longer trusted, even if the Machine SSL certificate itself has not reached its own expiration date. vCenter Server services connect to each other and to the local reverse proxy on port 443 using this certificate. Once the chain is no longer trusted, the core vCenter service (vpxd) cannot complete the connections it requires at startup and shuts down. Every service that depends on the core service then remains stopped, the reverse proxy returns "no healthy upstream," and a vCenter Server upgrade cannot connect to the source vCenter.
This commonly happens after the Machine SSL certificate is renewed while the original CA root certificate is re-used. The CA root certificate has its own expiration date. Re-using a root that is near the end of its life means the renewed Machine SSL certificate loses trust when that root expires, regardless of the validity period stamped on the Machine SSL certificate itself.
Take offline snapshots of all vCenter Server nodes in the single sign-on domain before making any change.
/usr/lib/vmware-vmca/bin/certificate-manager
service-control --status --all and confirm critical services such as vmware-vpxd and vapi-endpoint are running, then open the vCenter Server URL and confirm the login page loads.If you also need to remove the old expired root certificates:
Once the renewed root is in place, the old expired root certificates can remain without causing harm, so removal is optional. To remove them, follow the steps in Verify and remove CA Certificates from the TRUSTED_ROOTS store in VECS. These certificates are also published in VMware Directory and must be unpublished there first, or they are copied back automatically.