The purpose of this KB is to show how to recover the EAM service from 6.7 U3 onwards.
Symptoms:
YYYY-MM-DDThh:mm:ss.msZ | WARN | localhost-startStop-1 | AbstractApplicationContext.java | 550 | Exception encountered during context initialization - cancelling refresh attempt:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'vimMOIdTransformer' defined in class path resource [eam-server-vim-beans.xml]: Cannot resolve reference to bean 'vpxdServerGuidProdiver' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'vpxdConnection' defined in class path resource
[eam-server-vim-beans.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate
[com.vmware.eam.vc.VcConnection]: Constructor threw exception; nested exception is java.lang.RuntimeException: Wrong Vc sdk tunnel URL: <fqdn>:8089/sdk/vimService
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 43: <fqdn>:8089/sdk/vimService
Warning: Please make sure you have a healthy backup of vCenter Server or offline snapshot of vCenter virtual machine (VM powered off)
eam.properties
and insert below lines and save the file. File content is same for 6.7 U3/7/x/8.x
#########################################################################
# Copyright 2013-2017,2021 VMware, Inc. All rights reserved. VMware Confidential
#########################################################################
eam.support_linked_clone=true
eam.debug_ref_count=false
eam.mm.policy.one.by.one=false
5. Modify/update the eam-vim.properties
and insert below lines and save the file
#########################################################################
# Copyright 2013-2016 VMware, Inc. All rights reserved. VMware Confidential
#########################################################################
# VC location
vc.proxy.host=localhost
vc.proxy.port=80
vc.tunnelSdkUri.template=https://##{VC_HOST_NAME}##:8089/sdk/vimService
vc.tunnelSdkUri=https://<FQDN>:8089/sdk/vimService
# VC SSL trust
vc.truststore.type=VKS
vc.truststore.storename=TRUSTED_ROOTS
# EAM location
# Hostname or IP of the EAM server
# Fill only if EAM is not running on the same host as VC
eam.host=FQDN
# EAM AuthN
#
eam.keystore.type=VKS
eam.keystore.storename=vpxd-extension
eam.key.alias=vpxd-extension
############################################################################
#
# The data below is used by not-eam-vim beans hence is going to be moved out
#
############################################################################
# Port and scheme configuration which is used by the ESX 6.x hosts to reach EAM Vib
# file server.
eam.ext.port=443
eam.ext.scheme=https
# Port and scheme configuration which is used by the ESX 5.x hosts to reach EAM Vib
# file server.
eam.ext.port.deprecated=80
eam.ext.scheme.deprecated=http
drs.demandCapacityRatio=100
For vCenter 7.0 & 8.0 :
eam-vim.properties
To find ls.node.id, run : cat /etc/vmware/install-defaults/vmdir.ldu-guid
#########################################################################
# Copyright 2013-2019 VMware, Inc. All rights reserved. VMware Confidential
#########################################################################
# VC location
vc.proxy.host=localhost
vc.proxy.port=80
vc.tunnelSdkUri.template=https://##{VC_HOST_NAME}##:8089/sdk/vimService
vc.tunnelSdkUri=https://<fqdn>:8089/sdk/vimService
# VC SSL trust
vc.truststore.type=VKS
vc.truststore.storename=TRUSTED_ROOTS
# EAM location
# Hostname or IP of the EAM server
# Fill only if EAM is not running on the same host as VC
eam.host=<fqdn>
# EAM AuthN
#
eam.keystore.type=VKS
eam.keystore.storename=vpxd-extension
eam.key.alias=vpxd-extension
# LookupService
ls.url=https://<fqdn>:443/lookupservice/sdk
ls.node.id= <copy-id-from-above-ldu-guid>
############################################################################
#
# The data below is used by not-eam-vim beans hence is going to be moved out
#
############################################################################
# Port and scheme configuration which is used by the ESX 6.x hosts to reach EAM Vib
# file server.
eam.ext.port=443
eam.ext.scheme=https
# Port and scheme configuration which is used by the ESX 5.x hosts to reach EAM Vib
# file server.
eam.ext.port.deprecated=80
eam.ext.scheme.deprecated=http
drs.demandCapacityRatio=100
For 6.7 U3 and 7.0 : -rw-r--r-- 1 eam cis 1.3K MM DD hh:mm eam-vim.properties
-rw-r--r-- 1 eam cis 317 MM DD hh:mm eam.properties
For 8.0 : -rw-r--r-- 1 root root 1.3K MM DD hh:mm eam-vim.properties
-rw-r--r-- 1 root root 317 MM DD hh:mm eam.properties
chmod 644 eam-vim.properties
chown eam:cis eam-vim.properties (For 6.7 & 7.0)chown root:root eam-vim.properties
(For 8.0)
service-control --restart vmware-eam