AppSync: Il comando CLI AppSync ha esito negativo in modo intermittente
Summary: Il comando CLI AppSync ha esito negativo in modo intermittente
Symptoms
Questo problema si verifica quando si tenta di eseguire contemporaneamente più tentativi di accesso alla CLI di AppSync. Il problema è altamente intermittente.
L'utente esegue AppSync CLI per eseguire un piano di assistenza, elencare tutte le copie ed eseguire il mounting/unmounting di una copia, ma l'operazione ha esito negativo a intermittenza.
L'esecuzione di un piano di servizio non riesce con:
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!
L'elenco di tutte le copie create per un piano di assistenza o un oggetto dell'applicazione genera errori con:
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!
Il cas.log AppSync che si trova in C:\EMC\AppSync\apache-tomcat\bin mostra quanto segue:
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
Il server AppSync è progettato per raccogliere l'elenco dei ruoli assegnati all'utente una volta autenticato.
Il server AppSync raccoglie le informazioni sul ruolo dopo l'autenticazione e le scrive in un lockbox (simile a un file) per recuperarle in un secondo momento.
Una volta che il server AppSync recupera le informazioni archiviate, queste vengono eliminate. Tuttavia, se si tentava di effettuare più accessi contemporaneamente, una sessione eliminava le informazioni prima che venissero recuperate da un'altra sessione.
Per dirla semplicemente, si tratta di un problema di concorrenza dovuto a più accessi (più di uno) contemporaneamente.
Resolution
Soluzione:
Una soluzione a questo problema esiste, ma richiede l'assistenza del supporto clienti Dell Technologies.
Contattare il supporto clienti Dell Technologies e fare riferimento a questo articolo per l'hotfix.