jeremyfix / dcejs Goto Github PK
View Code? Open in Web Editor NEWElectron app to connect to the Data Center Enseignement clusters of CentraleSupélec - Metz
License: GNU General Public License v3.0
Electron app to connect to the Data Center Enseignement clusters of CentraleSupélec - Metz
License: GNU General Public License v3.0
It might be handy to be able to start a terminal session on the booked node; What is the best way to do that ? Trigger a ssh connection within a host terminal application , rewrite a simple basic console ?
sometimes, it might be handy to allow the allocation of a specific hostname ;
should we provide that flexibility ?
After some times, it happens that the ssh connection is closed ; But the application does not react to that;
We may stil be able to click on the tigervnc link and get a "Error: Not Connected", failing at line sshhandler.js, l526
On some systems (e.g. on a windows but not all), the ssh-keygen complained the passphrase was too short and it should have been 5 characters long;
Additionally, that message was not reported in the "Log" part of the GUI, we just saw some hexcodes ; Maybe the message was too long to be displayed in this line although it correctly failed.
Even it correctly failed and stoped the connection process, the user does not get that nice understandable error message. Why is that ? and we need to fix it; otherwise the user does not know what to do.
apt install libfuse2 is required for ubuntu to run AppImage
a user had a vnc and nomachine client, then clicked on "disconnect" and an error was raised that conn may be null in port_forward
If vncserver is not installed on the compute node, starting vnc will fail but dcejs seems to be ok; no error is indicated on the interface , we just do not get any port back ;
I got 2 users having a "cannot do something because it is null" like exception raised .
The case was 2 allocations, one not successful because of QOS.
These 2 users did not have tigervnc installed : does it matter ?
It seems that if an allocation is not started (e.g. because of QOS), you still have the possibility to click on Apps which should be prevented.
Can probably be detected if the node filed contains the string of Waiting for ressources of QOS blabla bla . To be checked for the right text.
On MacOS
part of the pass window is gray (the one with the message) ;
also for the newsession
That would be great to indicate to the user the slurm command that will be executed .
In particular, we do have a switch for exclusive/non exclusive that is not explicit (changed when opening the advanced settings)
In addition we may want to provide a checkbox for having an exclusive or not allocation
Although the VNC server is started on the remote and the port forward, the vncviewer cannot connect (it waits and never stops waiting) to the server. Same behavior on windows, linux, macOS with either the development app or the compiled one.
If VNC fails to start on the remote, we do not get a port but our software tries to port forward with the remote undefined
We should be failing if we do succeed in getting the remote vnc port
We see all the allocations in the list;
even the ones not handled by dcejs (e.g. the ones that have sbatched);
We should detect the ones handled by dcejs (with an associated screen session) and gray the actions button for the others;
when scanning for a local free port , all the ports that are not accessible raise an exception .
e.g. when running VNC, if the remote opens 5901, and the local 5901 is not free, it will finally catch 5902 but raise on exception because the local 5901 is not free.
That's not a fatal bug ... but .
Testing the code on a window machine, the running of ssh-keygen-64.exe failed with ENOENT exception but indeed the program can't be run on windows because of missing msys32.dll
there is this issue ericvicenti/ssh-keygen#10 and a suggested fix in https://github.com/jakkaj/ssh-keygen
note that ssh-keygen may already exist on windows (on the windows I was able to access, it was available) so that the node ssh-keygen may not be necessary ?!
On MacOS, for starting the app :
When the allocation is killed, the ssh_nodes[jobid] is deleted . However, the list of allocations might still display it because it has been refreshed while the job was killed and we may want to click on the "Apps" which may try to access to ssh_nodes[jobid]
so we should at least handle the case we access ssh_nodes[jobid]
but it does not exist and see if there are other things to trigger -like a refresh to make it disappear from the list-
for some reasons, on macos , we do not see the "SSH Keys" menu while we do see the other menus.
There is apparently, on some windows, an issue when reading the pub key
I'm wondering if this is not due to the file encoding that we enforce as utf-8.
Should we consider things like ced for detecting the encoding ? does it make sense actually to "detect" the encoding ?
Sometimes, the users do not remember the passphrase of their key, we could provide a checkbox or a button for deleting the passphrase.
there is for now no possibility to customize "-C" "--constraint" on dcejs
Bonjour,
Lorsque qu'on clic par erreur sur le bouton action d'une reservation il n'y aucun moyen de fermer la fenêtre [start VNC ,....]. On doit forcer la fermeture de DCEJS et tout relancer. Pour rappel c'est sur [MacOSx]. Merci
So far, the ssh keys are created in the user datadir and they are not linked to the login ;
Therefore, if a user uses different logins on the same installation, this will fail.
For partition with max time larger than 24 hours, our check of the validity of the field "Walltime" when doing a reservation fails.
For a maxtime 100 hours for example , typing 100:00 returns a "walltime 100:00 exceeds maxtime 4-04:00"; Typing "4-04:00" fails with "walltime 4-04:00 matching failed, not hh:mm !"
in the packed app, on Mac, we get extraResources/connection.nxs not found in /Applications/dcejs.app/Contents/Resources/app.asar
and indeed extraResources is installed in /Applications/dcejs.app/Contents/Resources/extraResources
Is it possible to :
Not yet working, should try with :
check the subdirectories of the environment variables ProgramFiles and ProgramFiles(x86) for a subdirectory called "TigerVNC" itself containing the exe vncviewer.exe
that will anyway not be working if someone is downloading the tiger vnc viewer only which is only an exe file, not installed but at least, if the users do install the fully fledged tiger vnc , we would be able to detect it.
For now, if the passphrase the user typed in is incorrect, we get a failure of cannot getPrivatePEM of undefined.
Pour linux, dis ce qu'on doit faire de la ap image... la rendre exécutable et cliquer dessus....
We need the openssh extension to be activated;
On the README, we specify it but can we automate the check that this is indeed the case and warn the user otherwise ?
dcejs fails if a gpu account is used to allocate a cpu partition but just says "Error " :)
is there any way to get the last message slurm_error ?
gpu_login@chome:~$ srun -N 1 --exclusive -p cpu_inter -t 1:00:00 --pty bash
srun: error: slurm_job_submit: partition cpu_inter does not accept jobs from gpu accounts.
srun: error: Unable to allocate resources: Unspecified error
and we need a better display of the slurm command
Default settings :
As xterm and nomachine are not aware of the group, every process running in these processes are not aware of the ressources restriction.
This does not apply to VNC because vncserver is ran from within the srun session
For xterm, one workaround could be to allow x11 for the ssh connection from which we trigger the srun command and modify the srun call with --x11
in the srun command.
For NoMachine, I do not know yet for any workaround. At least, we should deactivate the NoMachine action if we do not run with "exclusive" allocation.
We cannot auto install updates on all platforms but
We do not check the password is correctly typed in when posting the key;
some users make an error but we get the generated key and dcejs thinks the key was posted.
otherwise vncserver will fail to start.
in case an allocation does not succeed, for example because of QOS, it is not yet scancel'ed
This induces issues because it might appear listed in the "List of your alllocatiosn" with a possibility to open the Apps menu but the screen session behind is still as "defaultclustersession", the screen is blocked because srun is , etc.. when are unable to get the response from the "echo $SLURM_JOBID > ~/.cscluster//resa-xxxx.log; sync", we should scancel it;
But, the difficulty is to get its jobid... since that's the purpose of the step above.
One possibility could be to automatically trigger scancels when we list allocations and get some QOSMaxNodePerUserLimit ? The scancel in that case is triggered on the frontal.
An other possibility could be to prevent the Apps button from being clicked when "Nodelist" contains the "(QOSMaxNodePerUserLimit)" string ;
Also, in case the allocation does nto succeed, there appears to be uncatched exceptions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.