AppSync: Falha intermitente no comando da CLI do AppSync
Résumé: Falha intermitente no comando da CLI do AppSync
Symptômes
Esse problema ocorre quando vários log-ins da CLI do AppSync são tentados simultaneamente. O problema é altamente intermitente.
O usuário está executando a CLI do AppSync para executar um plano de serviço, listar todas as cópias e montar/desmontar uma cópia, mas ela falha intermitentemente.
Falha na execução de um plano de serviço, com a mensagem:
C:\EMC\AppSync\appsync-cli\appsync-cli.bat -login server=xxxxxx port=8445 user=admin password=xxxxxxxx INFO: Successfully authenticated AppSync! C:\EMC\AppSync\appsync-cli\appsync-cli.bat -runSP app=filesystem service_plan=xxxxxxx ERROR: Failed to run SP!
Listar todas as cópias criadas para um plano de serviço ou objeto de aplicativo falha com:
C:\EMC\AppSync\appsync-cli\appsync-cli.bat -login server=xxxxxx port=8445 user=admin password=xxxxxxxx INFO: Successfully authenticated AppSync! C:\EMC\AppSync\appsync-cli\appsync-cli.bat -listCopies app=filesystem service_plan=xxxxxx age=all ERROR: Could not locate copies!
O cas.log do AppSync localizado em C:\EMC\AppSync\apache-tomcat\bin mostra o seguinte:
2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor constructor 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationHandler] - CASAuthenticationManager::authenticateUsernamePasswordInternal username = admin 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate Using CST... 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CSTInterface] - Checking for LDAP authority: PSO-AD-Authority 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = PSO-AD-Authority 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = PSO-AD-Authority (PSO-AD-Authority) 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CSTInterface] - CST authentication failure com.emc.csp.error.SystemException: Error decrypting data 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - OS Login disabled 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = LocalDirectoryTest 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = LocalDirectoryTest 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor constructor 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationHandler] - CASAuthenticationManager::authenticateUsernamePasswordInternal username = admin 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate Using CST... 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CSTInterface] - Checking for LDAP authority: PSO-AD-Authority 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = PSO-AD-Authority 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = PSO-AD-Authority (PSO-AD-Authority) 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - CST authentication failure com.emc.csp.error.SystemException: Error decrypting data 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - OS Login disabled 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = LocalDirectoryTest 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = LocalDirectoryTest 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Authentication succeeded... 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing roles in lockbox ... 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole1 = DataAdministrator 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole2 = ResourceAdmin 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole3 = SecurityAdmin 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole4 = ServicePlanAdministrator 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Authentication succeeded... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing roles in lockbox ... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles = 4 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - Authentication succeeded - token 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - getPerson called for admin 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - retrieved cstIF ....com.emc.archway.cas.auth.CSTInterface@16ea70b 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles found = 4 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role DataAdministrator 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role ResourceAdmin 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role SecurityAdmin 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles = 4 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - Authentication succeeded - token 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - getPerson called for admin 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - retrieved cstIF ....com.emc.archway.cas.auth.CSTInterface@16ea70b 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles found = 4 2017-01-05 10:20:18,408 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role ServicePlanAdministrator 2017-01-05 10:20:18,408 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role exception 2017-01-05 10:20:18,408 ERROR [com.emc.archway.cas.auth.CSTInterface] - The item name does not exist in the Lockbox com.emc.csp.error.ObjectNotFoundException: The item name does not exist in the Lockbox at com.emc.cst.cstBridge.cstBridgeJNI.LockboxService_retrieveItemAsText(Native Method) at com.emc.cst.cstBridge.LockboxService.retrieveItemAsText(LockboxService.java:153) at com.emc.csp.services.lockbox.LockboxService.retrieveItemAsText(LockboxService.java:509)
Cause
O servidor do AppSync foi projetado para coletar a lista de funções atribuídas ao usuário depois de autenticado.
O servidor do AppSync coleta as informações de função após a autenticação e as grava em uma lockbox (semelhante a um arquivo) para recuperá-las posteriormente.
Depois que o servidor do AppSync recuperar as informações armazenadas, elas serão excluídas. No entanto, se vários log-ins fossem tentados simultaneamente, uma sessão excluiria as informações antes que elas fossem recuperadas por outra sessão.
Para simplificar, este é um problema de simultaneidade devido a vários logins (mais de um) simultaneamente.
Résolution
Solução alternativa:
Existe uma solução para esse problema, mas ela requer a assistência do atendimento ao cliente da Dell Technologies.
Entre em contato com o atendimento ao cliente da Dell Technologies e consulte este artigo para obter o hotfix.