Dell VxRail : Le VxRail Plugin affiche l’erreur « Les informations d’identification vCenter fournies ne sont pas valides »
요약: Le plug-in VxRail 7.0.x ou 8.0.x affiche l’erreur « Les informations d’identification vCenter fournies ne sont pas valides ».
증상
Le plugin VxRail 7.0.x ou 8.0.x ne fonctionne pas. L’erreur s’affiche :
The provided vCenter credentials are not valid
Vérifiez le nom d’utilisateur et le mot de passe du compte de gestion vCenter pour confirmer qu’ils sont corrects et valides.
- Scénario 1 : Il existe un problème de résolution de noms dans les microservices, en particulier do-cluster.
/var/log/microservice_log/short.term.log indique Temporary failure in name resolution ou No address associated with hostname.
"2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737166669Z stderr F 2022-06-23 13:54:04,736 [ERROR] <Dummy-152:139828974536264> executor.py resolve_or_error() (456): An error occurred while resolving field ClusterDomainOwnerQuery.cluster" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737174033Z stderr F Traceback (most recent call last):" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737177269Z stderr F File ""/home/app/api/graphql_query/resolver/ClusterResolver.py"", line 21, in get_cluster" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737179684Z stderr F si = soap_client.get_service_instance()" ... "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737280516Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/do_common/socks_proxy.py"", line 40, in create_connection" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737283191Z stderr F sock_addr_info = get_sorted_sock_addr_info(host, port)" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737285535Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/do_common/socks_proxy.py"", line 21, in get_sorted_sock_addr_info" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737287589Z stderr F sock_addrs = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM)" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737289854Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/gevent/_socketcommon.py"", line 230, in getaddrinfo" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737291978Z stderr F addrlist = get_hub().resolver.getaddrinfo(host, port, family, type, proto, flags)" "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737294412Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/gevent/resolver/thread.py"", line 63, in getaddrinfo" ... "2022-06-23 13:54:05,524" microservice.do-cluster "2022-06-23T13:54:04.737321073Z stderr F socket.gaierror: [Errno -3] Temporary failure in name resolution"
- Scénario 2 : Un fichier CRL non valide a été téléchargé à partir des certificats CA racines de confiance vCenter.
/var/log/mystic/web.log
2022-05-24T14:04:31.381+0000 INFO [main] com.vce.commons.core.ssl.MarvinTrustManager MarvinTrustManager.reloadAllowedAuthorities:148 - PostConstruct:reloadAllowedAuthorities 2022-05-24T14:04:31.385+0000 INFO [main] com.vce.commons.core.ssl.MarvinTrustManager MarvinTrustManager.reloadAllowedAuthorities:166 - Allowing authority permanently for cert /var/lib/vmware-marvin/trust/lin/42727c5a.0 2022-05-24T14:04:31.386+0000 INFO [main] com.vce.commons.core.ssl.MarvinTrustManager MarvinTrustManager.reloadCrl:186 - reloadCrl 2022-05-24T14:04:31.398+0000 ERROR [main] org.springframework.web.context.ContextLoader ContextLoader.initWebApplicationContext:313 - Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'backupEVCSettingAction': Unsatisfied dependency expressed through field 'vcConnectionService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'VCConnectionServiceImpl': Unsatisfied dependency expressed through field 'connectionService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'connectionHelper': Unsatisfied dependency expressed through field 'connectionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'vcConnectionService': Unsatisfied dependency expressed through field 'marvinTrustManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'marvinTrustManager': Invocation of init method failed; nested exception is java.security.cert.CRLException: Empty input
vxm:/home/mystic # ls -l /var/lib/vmware-marvin/trust/lin/ total 8 -rw-r--r-- 1 tcserver pivotal 1489 May 17 10:47 42727c5a.0 -rw-r--r-- 1 tcserver pivotal 0 May 17 10:47 42727c5a.r0
- Scénario 3 : Error (Erreur)
certificate verify failed
/var/log/microservice_log/short.term.log
2022-03-21-08:06:25 microservice.do-cluster "ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)"
2022-03-21-08:06:25 microservice.do-cluster ""
2022-03-21-08:06:25 microservice.do-cluster "During handling of the above exception, another exception occurred:"
2022-03-21-08:06:25 microservice.do-cluster ""
2022-03-21-08:06:25 microservice.do-cluster "Traceback (most recent call last):"
2022-03-21-08:06:25 microservice.do-cluster " File ""/usr/local/venv/lib64/python3.6/site-packages/graphql/execution/executor.py"", line 452, in resolve_or_error"
2022-03-21-08:06:25 microservice.do-cluster " return executor.execute(resolve_fn, source, info, **args)"
2022-03-21-08:06:25 microservice.do-cluster " File ""/usr/local/venv/lib64/python3.6/site-packages/graphql/execution/executors/sync.py"", line 16, in execute"
2022-03-21-08:06:25 microservice.do-cluster " return fn(*args, **kwargs)"
2022-03-21-08:06:25 microservice.do-cluster " File ""/home/app/api/graphql_query/cluster_do_query.py"", line 59, in resolve_cluster"
2022-03-21-08:06:25 microservice.do-cluster " cluster = ClusterResolver.get_cluster(vc_conn_info_input, cluster_argument)"
2022-03-21-08:06:25 microservice.do-cluster " File ""/home/app/api/graphql_query/resolver/ClusterResolver.py"", line 23, in get_cluster"
2022-03-21-08:06:25 microservice.do-cluster " raise GraphQLError('Failed to connect to vCenter {}'.format(vc_conn_info_input.get('host')))"
2022-03-21-08:06:25 microservice.do-cluster "graphql.error.base.GraphQLError: Failed to connect to vCenter None"
- Scénario 4 : le certificat SSL de vCenter n’est pas entièrement qualifié.
/var/log/microservice_log/short.term.log
2022-04-20-06:00:16 microservice.do-cluster " File ""/usr/lib64/python3.6/ssl.py"", line 694, in do_handshake" 2022-04-20-06:00:16 microservice.do-cluster " match_hostname(self.getpeercert(), self.server_hostname)" 2022-04-20-06:00:16 microservice.do-cluster " File ""/usr/lib64/python3.6/ssl.py"", line 331, in match_hostname" 2022-04-20-06:00:16 microservice.do-cluster " % (hostname, dnsnames[0]))" 2022-04-20-06:00:16 microservice.do-cluster "ssl.CertificateError: hostname 'VC_FQDN' does not match 'VC_IP'"
vCenter's cert does not contain FQDN in Subject Alternative Name, it may contain IP address only: echo | openssl s_client -connect <vc_fqdn>:443 2>/dev/null |openssl x509 -noout -text X509v3 Subject Alternative Name: IP Address:xx.xx.xx.xx Example in lab: X509v3 Subject Alternative Name: DNS:xxxxxxx, IP Address:xx.xx.xx.xx
- Scénario 5 : Les microservices ne peuvent pas se connecter à vCenter avec une erreur
No route to host.
Commande firewall-cmd --reload a été exécuté dans VxRail Manager récemment./var/log/microservice_log/short.term.log
"2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540928759Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/pyVmomi/SoapAdapter.py"", line 1039, in connect" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540932851Z stderr F http_client.HTTPSConnection.connect(self)" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540936399Z stderr F File ""/usr/lib64/python3.6/http/client.py"", line 1444, in connect" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540939008Z stderr F super().connect()" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.54094136Z stderr F File ""/usr/lib64/python3.6/http/client.py"", line 956, in connect" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540943688Z stderr F (self.host,self.port), self.timeout, self.source_address)" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540946025Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/do_common/socks_proxy.py"", line 71, in create_connection" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540948554Z stderr F raise err" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540950893Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/do_common/socks_proxy.py"", line 61, in create_connection" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540955153Z stderr F sock.connect((sa[0], sa[1]))" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540958727Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/socks.py"", line 47, in wrapper" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.54096135Z stderr F return function(*args, **kwargs)" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540963723Z stderr F File ""/usr/local/venv/lib64/python3.6/site-packages/socks.py"", line 780, in connect" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.54096604Z stderr F super(socksocket, self).connect((dest_addr, dest_port))" "2024-01-20 04:18:35,083" microservice.do-cluster "2024-01-20T04:18:34.540968413Z stderr F OSError: [Errno 113] No route to host"
원인
해결
Scénario 1 : Il existe un problème de résolution de noms dans les microservices.
- Redémarrer VxRail Manager
dnsmasq service:
service dnsmasq stop service dnsmasq start
- En cas de redémarrage
nsmasq servicen’aide pas, vérifiez si le serveur DNS de VxRail Manager est configuré avec un DNS public externe, par exemple 8.8.8.8. - Si la résolution de noms échoue, contactez le support Dell et indiquez ce numéro d’article 000214621 pour exécuter l’outil de vérification DNS.
Scénario 2 : Fichier CRL non valide téléchargé à partir des certificats CA racines de confiance vCenter
Suivez l’article VxRail : Impossible d’importer des certificats racine vCenter en raison de fichiers CRL vides ou corrompus Permet de supprimer les fichiers CRL vides ou corrompus de vCenter et de réimporter les certificats racines de confiance vCenter dans VxRail Manager.
Scénario 3 : Error (Erreur) certificate verify failed
Contactez le support Dell et indiquez ce numéro d’article 000157888 pour résoudre le problème de certificat.
Scénario 4 : le certificat SSL de vCenter n’est pas entièrement qualifié.
Régénérer le certificat SSL de la machine vCenter Server > SubjectAltName doit contenir DNS Name=machine_FQDN.
Scénario 5 : Les microservices ne peuvent pas se connecter à vCenter avec une erreur No route to host.
Redémarrer rke2 server en exécutant les deux commandes ci-dessous :
bash /usr/local/bin/rke2-killall.sh systemctl start rke2-server
ou
Redémarrez VxRail Manager.
firewall-cmd --reload , exécutez firewall-cmd --runtime-to-permanent à la place.