Vscode
VSCODE (procédure) ]
Virtual Studio Code (vscode) est un environnement de développement intégré qui offre de très nombreuses possibilités, notamment des facilités pour le développement à distance…Cette fiche n’est pas une publicité, mais une procédure pour recadrer l’usage de vscode sur la plateforme de calcul et plus particulièrement le frontal (calculco).
En trois clicks sur votre PC, vscode est à même de lancer un serveur (!) sur la machine distante (frontal calculco) de sorte que vous pouvez visualiser vos fichiers distants, les modifier. Quelque clicks supplémentaires vous permettent d’installer des plugins, des environnements etc. Soit. En terme de ressources prises sur le frontal (commande [htop]) , on obtient quelque chose comme (cliquer sur l’image pour une meilleure définition) :
…Un utilisateur, c’est soutenable (les +20Go(!) affichés ci-dessus ne sont que du «cache») , mais sans contrôle et plusieurs utilisateurs, cela ne l’est pas: l’usage de vscode est donc interdit sur le frontal. Il est en revanche autorisé avec une réservation de ressources : session interactive sur un nœud de calcul, «à la manière des notebooks» …avec les mêmes recommandations (cf. introduction de notebook jupyter)
Deux méthodes sont proposées pour travailler avec vscode sur les nœuds de calcul:
1. version web (la plus simple?)
vous aurez probablement installé vscode sur votre compte calculco avec une commande du type (l’installation de vscode n’est pas l’objet de cette fiche) :
lancer ensuite une réservation avec le script oar (path de votre installation code-server à modifier si différent)
Après quelqlues secondes, le fichier de sortie du batch (vscode1.oar) est disponible. Ouvrir ce dernier par exemple avec la commande [cat] et suivre les instructions à la lettre ( 2 copier coller à faire !) .
lorsque vous avez fini, quitter votre notebook sur votre PC n’est pas suffisant pour libérer les ressources, tuer votre job :
2. version application cliente sur votre PC (usage standard?)
Les noeuds ne sont pas accessibles de l’extérieur, …pas vraiment non plus de l’intérieur (frontal) autrement que conduit par le super-secrétaire qui connait l’emploi du temps de la plateforme: l’utilisateur oar. La première partie consiste juste à mettre en place une connexion ssh, directe (sans mot de passe), depuis votre PC au nœud (chimayXX) que vous avez préalablement réservé en passant par ritchie :
([vous@pc>(oar[vous]@chimayXX)
Pour l’accès simple à ritchie , on suppose que les instructions de la première page de la plateforme en ce qui concerne les clefs ainsi que celles concernant le fichier .ssh/config ont été suivies. Donc, depuis votre PC:
…autorise une connexion directe sans mot de passe sur le frontal .
2.1. configurations préalables :
sur ritchie, créer un couple de clé privée/publique destinée à oar
ajouter la ligne suivante dans votre fichier ~/.bashrc (ou
.bash_profile)
sur votre PC:
recopier les deux clefs dans votre répertoire de configuration (~/.ssh/)
Puis ajouter à votre fichier ~/.ssh/config (pour window, le fichier
serait %USERPROFILE%/.ssh/config?), la configuration concernant les
noeuds de calculs. Au final, le fichier d’Agathe Zebluze devrait être:
2.2. tests et lancement de VSCode
Faire un réservation oarsub - par exemple interactive - mais avec l’option [-k]
Test (depuis pc personnel) :
Indépendamment de ‘vscode’, le système mis en place ici est une alternative intéressante à la commande ‘oarsub -C JOBID’ pour se connecter depuis son poste de travail à ses jobs en cours (…à condition de les avoir lancé avec l’option -k de oarsub).]
VSCODE:
- lancer l’application sur votre PC,
- cliquer (tout en bas à gauche) sur l’icône de connexions distante ([**[><])
- choisir “SSH” ….(une première extension s’installe après votre accord)
- vscode est en mesure de lire votre fichier ~/.ssh/config et propose le choix de tous les serveurs qui s’y trouve (dont [ritchie], mauvais choix car interdit) …mais pas les chimayXX en raison de la syntaxe **[chimay?? ]**de ce fichier: saisir donc, dans notre exemple, [chimay01] . Votre accord est encore requis pour accepter (ou pas) l’installation d’un serveur distant. Des flétans vous hurlent de dire non, mais vous acceptez…quelques degrés supplémentaires dans l’océan - pardon, minutes supplémentaires et vous y êtes, ça fonctionne.
3. soucis rencontrés
- vscode “bloque” pour télécharger telle ou telle extension : désobéissez et activez une connexion ‘remote’ sur le frontal ritchie. Installez le nécessaire mais ne prévoyez pas de travailler sur le frontal : un script tue les processus ‘vscode-server’ plus vieux que 1h.
- si tel est le cas ( vous vous êtes connectés sur ritchie) : quittez correctement cette connexion ( Menu “File -> Close Connexion” ) …faute de quoi, à chaque lancement, vscode se reconnectera ( sans avertissement) sur le frontal ritchie …et lancera ses serveurs indésirables…
- dans tous les cas, il semble que l’application a du mal à libérer les ressources, même en quittant -apparement proprement - l’application depuis son menu : merci donc de vérifier , tuer au besoin votre tâche ( oardel JOB_ID votre session fait très bien le job !)
