Code Monkey home page Code Monkey logo

dcejs's People

Contributors

jeremyfix avatar

Watchers

 avatar  avatar  avatar

dcejs's Issues

Get a terminal on the session ?

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 ?

Handle disconnection

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

Passphrase too short

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.

conn may be none

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

vncserver silently fails

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 ;

vnc error when multiple allocations?

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 ?

Disable Apps for non running allocation

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.

Display more info on the slurm command

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

Cannot connect to the vnc ?

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.

Not detecting that VNC is not started properly

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

Uncaught exception

With the latest release of dce-js 1.9.4 I get the following error when starting the app 😅
Capture d’écran 2023-12-13 à 11 23 18

Disable actions for session not handled with dcejs

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;

Exception still raised while looking for a free port

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 .

ssh-keygen fails on windows

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 ?!

launch apps on MacOS

On MacOS, for starting the app :

  • TigerVNC is installed into : /Applications/TigerVNC Viewer 1.11.0.app/Contents/MacOS/TigerVNC\ Viewer
  • NoMachine /Applications/NoMachine.app/Contents/MacOS/nxplayer

Handle the case when the allocation has been stopped properly

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-

Issue when reading the pubkey ?

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 ?

[MacOSx] clic action aucun moyen d'annuler

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

The sshkeys should be account dependent

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.

walltime check larger than 24h fails

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 !"

extraResource issue ?

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

Better xterm ?

Is it possible to :

  • customize the font of the xterm to make it larger ?
  • add a scrollbar on the xterm ?

windows link for vnc connection

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.

ReadMe

Pour linux, dis ce qu'on doit faire de la ap image... la rendre exécutable et cliquer dessus....

Detect if openssh extension is activated

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 ?

More verbose on cannot allocate

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

more options for slurm

  • we add a field for providing -n
  • we allow -c , -n to be empty, and then do not use them
  • change the rules for feeding the advanced settings
    • if exclusive is selected, we disable -c
    • if -n is provided, we delete the content of -c
    • if -c is provided, we delete the content of -n

and we need a better display of the slurm command

Default settings :

  • exclusive is selected
  • -N to 1 , -c empty, -n empty

xterm and nomachine not in cgroup

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.

Indicate when a new version is available

We cannot auto install updates on all platforms but

  1. we may enable that for linux without having it for windows
  2. we could at least indicate the user a new release is available

stops an allocation if it does not 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.