Contenu

Introduction

Informations générales

Solution de contournement

Sur vCenter Server pour Windows

Sur l'appliance de serveur vCenter

Introduction

Ce document décrit le problème d'échec de l'enregistrement HyperFlex vCenter après la régénération de la certification VCSA.

Après la régénération/le remplacement du certificat sur le serveur vCenter, le service EAM ne connaît pas le nouveau certificat et ne peut pas se connecter.

Contribué par Ignacio Orozco, ingénieur TAC Cisco.

Informations générales

Lorsque vous essayez de réenregistrer le cluster Hyperflex dans vCenter après la régénération/le remplacement du certificat vCenter, vous pouvez voir cette erreur :

« Erreur de connexion entre vCenter et ESX Agent Manager (EAM). À partir de vSphere, redémarrez les services EAM. Cliquez ensuite sur Réessayer la création du cluster. »

Dans stMgr.log, vous pouvez voir ceci :

017-12-20-21:51:17.015 [opId=6b747f93e3224869, operationId=6b747f93e3224869.6b747f93e3224869<:6b747f93e3224869] [pool-4-thread-2] ERROR c.s.s.v.VirtPlatformImpl$ - ESX Agent Manager error

java.rmi.RemoteException: VI SDK invoke exception:; nested exception is:

com.vmware.eam.NoConnectionToVCenter

at com.vmware.vim25.ws.WSClient.invoke(WSClient.java:157) ~[vijava-eam-5.5.6sp.jar:na]

at com.vmware.eam.ws.EamService.queryAgency(EamService.java:144) ~[vijava-eam-5.5.6sp.jar:na

Dans le fichier VCSA : /var/log/vmware/eam/eam.log OU le fichier VC sur le serveur Windows C:\ProgramData\VMware\vCenterServer\logs\eam\eam.log  pour le gestionnaire d'agents ESX (EAM), des entrées similaires à :

YYYY-MM-DDTHH:MM:SS.MSZ |  INFO | eam-0 | VcConnection.java | 167 | Connecting to vCenter as com.vmware.vim.eam extension

YYYY-MM-DDTHH:MM:SS.MSZ |  INFO | eam-0 | VcConnection.java | 603 | Connecting to https://vCenter_Server_FQDN:8089/sdk/vimService via vCenter proxy http://localhost:80

YYYY-MM-DDTHH:MM:SS.MSZ | DEBUG | http-bio-0.0.0.0-15005-exec-1 | AllowAllSamlTokenPolicy.java | 24 | HealtStatus request's token subject name: machine-7502fb4c-3521-48c7-93ed-3d1865e0fff1, subject domain: vsphere.local

YYYY-MM-DDTHH:MM:SS.MSZ | ERROR | eam-0 | VcConnection.java | 179 | Failed to login to vCenter as extension. vCenter has probably not loaded the EAM extension.xml yet.: Cannot complete login due to an incorrect user name or password.

YYYY-MM-DDTHH:MM:SS.MSZ |  WARN | eam-0 | VcListener.java | 114 | Trying to recover from error

(vim.fault.InvalidLogin) {

faultCause = null,

faultMessage = null

}

at sun.reflect.GeneratedConstructorAccessor82.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at com.vmware.vim.vmomi.core.types.impl.ComplexTypeImpl.newInstance(ComplexTypeImpl.java:173)

at com.vmware.vim.vmomi.core.types.impl.DefaultDataObjectFactory.newDataObject(DefaultDataObjectFactory.java:26)

at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.ComplexStackContext.

(ComplexStackContext.java:31) at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFaultContext.parse(UnmarshallerImpl.java:141) at com.vmware.vim.vmomi.core.soap.impl.unmarshaller.UnmarshallerImpl$UnmarshallSoapFau

Solution de contournement

Document de référence : https://kb.vmware.com/s/article/2112577

Sur vCenter Server pour Windows

1. Connectez-vous à vCenter Server via une session Bureau à distance ou console.

2. Ouvrez une invite de commandes élevée.

3. Créez un répertoire temporaire nommé c:\certificate.

4. Exécutez cette commande pour récupérer le certificat utilisateur et la clé de la solution vpxd-extension :

"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry getcert --store vpxd-extension --alias vpxd-extension --output c:\certificate\vpxd-extension.crt

"%VMWARE_CIS_HOME%"\vmafdd\vecs-cli entry getkey --store vpxd-extension --alias vpxd-extension --output c:\certificate\vpxd-extension.key

5. Accédez à C:\Program Files\VMware\vCenter Server\vpxd\scripts :

cd C:\Program Files\VMware\vCenter Server\vpxd\scripts

Note: Le chemin indiqué correspond à une installation par défaut de vCenter Server. Si vous avez personnalisé l'emplacement d'installation de vCenter Server, modifiez le répertoire en conséquence.

6. Exécutez cette commande pour mettre à jour le certificat de l'extension avec vCenter Server :

"%VMWARE_PYTHON_BIN%" updateExtensionCertInVC.py -e com.vmware.vim.eam -c C:\Certificate\vpxd-extension.crt -k C:\Certificate\vpxd-extension.key -s localhost -u Administrator@domain.local

Note: L'utilisateur et le domaine par défaut sont administrator@vsphere.local. Si cela a été modifié lors de la configuration, modifiez le domaine pour qu'il corresponde à votre environnement.

7. Lorsque vous y êtes invité, saisissez le mot de passe Administrator@domain.local.

8. Accédez au dossier C:\Program Files\VMware\vCenter Server\bin :

cd C:\Program Files\VMware\vCenter Server\bin

9. Redémarrez le service VMware ESX Manager à l'aide des commandes suivantes :

- service-control —stop EsxAgentManager

- service-control —start EsxAgentManager

Sur l'appliance de serveur vCenter

1. Connectez-vous au serveur vCenter à l'aide de SSH.

2. Exécutez cette commande pour activer l'accès au shell Bash :

shell.set --enabled true

3. Tapez shell et appuyez sur Entrée.

4. Exécutez cette commande pour récupérer le certificat utilisateur et la clé de la solution vpxd-extension :

mkdir /certificate

/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.crt

/usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.key

5. Exécutez cette commande pour mettre à jour le certificat de l'extension avec vCenter Server.

python /usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py -e com.vmware.vim.eam -c /certificate/vpxd-extension.crt -k /certificate/vpxd-extension.key -s localhost -u Administrator@domain.local

Note: L'utilisateur et le domaine par défaut sont Administrator@vsphere.local. Si cela a été modifié lors de la configuration, modifiez le domaine pour qu'il corresponde à votre environnement. Lorsque vous y êtes invité, tapez Administrator@domain.localpassword.

6. Redémarrez le service VMware ESX Manager à l'aide des commandes suivantes :

service-control --stop vmware-eam

service-control --start vmware-eam