CAS – Failed to launch session worker
Lorsque vous essayez de vous connecter à CAS depuis SAS 9, vous pouvez être confronté au message d'erreur ci-dessous :
Cette option permet de diagnostiquer les problèmes de connexion au serveur CAS.
Ce qui donne :
NOTE: Reading authinfo file: /opt/sas/install/SASFoundation/9.4/CAS_Auth_info
NOTE: Matching host: viyacasctrl.nicolas-housset.local
NOTE: Matching port: 5570
NOTE: Matching user: NONE
NOTE: Using authinfo host definition: default user nhousset password ******
NOTE: Client is using userid=nhousset, password=***
NOTE: Client is using the userpass identity provider
NOTE: Sent challenge length 117
NOTE: Received response length 83
NOTE: Got disposition, severity 2, reason 4, message Failed to launch session
controller.: Failed to launch session worker.
ERROR: Connection failed. Server returned: Failed to launch session controller.: Failed to launch session worker.
ERROR: Unable to connect to Cloud Analytic Services viyacasctrl.nicolas-housset.local on port 5570. Verify connection parameters and retry.
1 2 |
ERROR: Connection failed. Server returned: Failed to launch session controller.: Failed to launch session worker. ERROR: Unable to connect to Cloud Analytic Services viyacasctrl.nicolas-housset.local on port 5570. Verify connection parameters and retry. |
Activation des traces
Dans ce genre de situation, il est important de suivre la piste pour remonter à l'origine du problème. La première étape est d'activer les traces de connexion à CAS :
1 |
option set=CASCLIENTDEBUG=1; |
Examen du CAS Controller
Examinons les log du CAS Controller. Pour rappel les logs CAS se trouvent dans le répertoire /var/log/sas/viya/cas/default : INFO [00040032] cas local MAIN NoUser [tkcalsident.c:411] - New client connection accepted on port 5570. INFO [00040032] cas local MAIN NoUser [tkcalsident.c:426] - Client version long is '9.04.01M6P11072018'. INFO [00040032] nhousset local MAIN NoUser [tkident.c:1233] - User nhousset successfully authenticated using the OAuth authentication provider. INFO [00040032] nhousset local MAIN NoUser [tkident.c:1233] - User nhousset successfully authenticated using the External PAM authentication provider. INFO [00040032] nhousset local MAIN NoUser [tkcsesinst.c:725] - Successfully created session c7ab116e-3da0-1442-9217-85b118de8b53. INFO [00040032] nhousset local MAIN NoUser [tkcsesinst.c:810] - Destroying session c7ab116e-3da0-1442-9217-85b118de8b53. Nous constatons que la connexion au CAS Controller a bien fonctionné. L’authentification est correct : "User nhousset successfully authenticated using the OAuth authentication provider" et la session créée : "Successfully created session c7ab116e-3da0-1442-9217-85b118de8b53." Toutefois, la log montre que la session est détruite juste après sa création.Examen des CAS workers
Rendons-nous maintenant sur le premier worker et examinons les logs : INFO [00009966] sas.SASVisualAnalytics local MAIN NoUser [cascaptain.c:640] - Launched session worker. Process ID is 8215. INFO [00009967] sas.SASReportViewer local MAIN NoUser [cascaptain.c:640] - Launched session worker. Process ID is 8219. INFO [00000006] cas local 8219 cas 3664 [cas.c:1801] - Starting Cloud Analytic Services driver, host=viyacaswrk1.nicolas-housset.local, id=1, role=session worker. RAS sur ce worker; La session est bien créée. Direction le second worker et procédons à nouvel examen des logs (toujours dans /var/log/sas/viya/cas/default). La log montre une erreur : ERROR [00009958] nhousset local MAIN NoUser [tkclscommon.c:215] - User nhousset (1003), has name nhouset on machine.. ERROR [00009958] nhousset local MAIN NoUser [tkclscom.c:148] - Failed to initialize launch services. ERROR [00009958] nhousset local MAIN NoUser [casutil.c:1005] - An unexpected return code 0xffffffff resulting in launch status -1 was detected while creating a new session in a call to CLSLaunch in file /sas/day/mva-vb015/tkcas/src/casutil.c line 1005. ERROR [00009958] nhousset local MAIN NoUser [cascaptain.c:622] - Failed to launch session worker. Voici l'origine du problème : "User nhousset (1003), has name sminia on machine.." L'utilisateur nhousset utilisé pour la connexion à CAS possède l'id 1003 sur le CAS controller MAIS sur le worker2 ce n'est pas l'utilisateur nhousset qui possède cet id 1003, mais l'utilisateur sminia. Il y a donc un problème, sur ce worker, au niveau des utilisateurs. Il faut donc vérifier ce point. Le message dans la log peut varier :- NoUser [tkcls.c:194] - No user entry for uid 1003
- MAIN NoUser [tkclscommon.c:215] - User 1003, has gid 1004 and does not match supplied gid 1003