Git Product home page Git Product logo

jupyterlab-slurm's Introduction

Slurm JupyterLab Extension

A JupyterLab extension that interfaces with the Slurm Workload Manager, providing simple and intuitive controls for viewing and managing jobs on the queue.

Slurm Extension

Prerequisites

  • JupyterLab >= 3.0
  • Node.js 14+
  • Slurm

Installation

This extension includes both a client-side JupyterLab extension and a server-side Jupyter notebook server extension. Install these using the command line with

pip install jupyterlab_slurm

If you are running Notebook 5.2 or earlier, enable the server extension by running

jupyter serverextension enable --py --sys-prefix jupyterlab_slurm

After launching JupyterLab, the extension can be found in the command palette under the name Slurm Queue Manager, and is listed under the HPC TOOLS section of the palette and the launcher.

Development install

As described in the JupyterLab documentation for a development install of the labextension you can run the following in this directory:

Setup a local slurm cluster

git clone https://github.com/giovtorres/slurm-docker-cluster
cd slurm-docker-cluster
git clone --branch lab3 https://github.com/NERSC/jupyterlab-slurm.git
cp jupyterlab-slurm/slurm_cluster/docker-compose.yml .
# from slurm-docker-cluster README
docker build -t slurm-docker-cluster:19.05.1 .
# if you encounter an error with the PGP key step
# update line 46 with gpg --keyserver pgp.mit.edu ...
# this will build the jupyterlab image minimal-notebook with a slurm client
docker-compose build
# start the cluster
docker-compose up -d
# register the slurm cluster
./register_cluster.sh
# run munged on the jupyterlab instance to get the slurm commands to connect
docker-compose exec jupyterlab bash
runuser -u slurm -- munged
# test that squeue comes back with a header, if it gets stuck you can't connect
squeue

Install jupyterlab-slurm into your environment

docker-compose exec -u jovyan jupyterlab bash
cd /usr/local/jupyterlab-slurm/
# install jupyter_packaging which is a missing dependency
pip install jupyter_packaging
# this command takes a while the first it is run
pip install -e .
# point the labextension dev install at current dir
jupyter labextension develop --overwrite .

# rerun this if there are updates:
jlpm run build

Restart the jupyterlab docker container

docker compose restart jupyterlab

# rerun munged on the jupyterlab instance
docker compose exec jupyterlab bash
runuser -u slurm -- munged

jupyterlab-slurm's People

Contributors

jonjonhays avatar krinsman avatar mlhenderson avatar shreddd avatar tslaton avatar twrobinson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jupyterlab-slurm's Issues

ValueError: "jupyterlab-slurm" is not a valid extension:

When I try to install the jupyterlab extension it fails with the following message:

(jupyterhub) root@XXX:~# jupyter labextension install jupyterlab-slurm
An error occured.
ValueError: "jupyterlab-slurm" is not a valid extension:
Missing extension module "lib/index.js"
See the log file for details:  /tmp/jupyterlab-debug-2pxuxcq0.log

The log file contains the following:

Node v10.13.0

> /opt/ESIsoftware/python/envs/jupyterhub/bin/npm pack jupyterlab-slurm
npm notice 
npm notice 📦  [email protected]
npm notice === Tarball Contents === 
npm notice 1.5kB  LICENSE                   
npm notice 7.6kB  style/index.css           
npm notice 1.9kB  package.json              
npm notice 1.7kB  README.md                 
npm notice 1.1kB  style/nersc_icon_small.png
npm notice 39.4kB style/nersc_icon.png      
npm notice === Tarball Details === 
npm notice name:          jupyterlab-slurm                        
npm notice version:       1.0.0                                   
npm notice filename:      jupyterlab-slurm-1.0.0.tgz              
npm notice package size:  45.9 kB                                 
npm notice unpacked size: 53.3 kB                                 
npm notice shasum:        9e052a27177d70d2a5c6aefd264b0e4dfdd74dca
npm notice integrity:     sha512-x94oXx0lnG/1m[...]zBFYdxVm9JzGw==
npm notice total files:   6                                       
npm notice 
jupyterlab-slurm-1.0.0.tgz

Traceback (most recent call last):

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
    yield

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 93, in start
    ans = self.run_task()

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 147, in run_task
    for i, arg in enumerate(self.extra_args)

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 147, in <listcomp>
    for i, arg in enumerate(self.extra_args)

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/commands.py", line 321, in install_extension
    return handler.install_extension(extension, pin=pin)

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/commands.py", line 525, in install_extension
    info = self._install_extension(extension, tempdir, pin=pin)

  File "/opt/ESIsoftware/python/envs/jupyterhub/lib/python3.7/site-packages/jupyterlab/commands.py", line 1415, in _install_extension
    raise ValueError(msg % (extension, '\n'.join(messages)))

ValueError: "jupyterlab-slurm" is not a valid extension:
Missing extension module "lib/index.js"

Exiting application: jupyter

Did I do something wrong? The environment has

jupyter              1.0.0     
jupyter-client       5.3.3     
jupyter-console      6.0.0     
jupyter-core         4.5.0     
jupyter-server-proxy 1.1.0     
jupyterhub           0.9.6     
jupyterlab           1.1.4     
jupyterlab-server    1.0.6     
jupyterlab-slurm     1.0.5   

Configuration, prefixing, or wrappers for Slurm commands

We have multiple Slurm clusters accessible from the main system: The main system itself, one for GPU satellites, others for other satellites. Slurm commands in our setup are "selected" via module load esslurm though other centers may implement this another way (or not at all, and require you to ssh somewhere, whatever).

We handled this in JupyterHub with BatchSpawner by creating wrappers that include whatever it is you need to execute the right command. For instance, a wrapper script just loads the module/adjusts the environment and then passes through the command.

module load esslurm
exec "$@"

This could be a configurable, which may need to be a Callable so that the plug-in can determine what the right environment to wrapper looks like dynamically. I think this would also enable easy remote (e.g. ssh-based) actions.

Related: #43

Conflicting dependencies

Hi,
I'm trying to install the extension as follows though it looks like it might not work with the current version 2.x of JupyterLab. Happy to be told this isn't on the roadmap and for this to be closed if so. cheers.

jupyter labextension install jupyterlab-slurm
An error occured.
ValueError: The extension "jupyterlab-slurm" does not yet support the current version of JupyterLab.


Conflicting Dependencies:
JupyterLab              Extension         Package
>=2.1.2 <2.2.0          >=1.0.0 <2.0.0    @jupyterlab/application
>=2.1.1 <2.2.0          >=1.0.0 <2.0.0    @jupyterlab/apputils
>=4.1.0 <4.2.0          >=3.0.0 <4.0.0    @jupyterlab/coreutils
>=2.1.2 <2.2.0          >=1.0.0 <2.0.0    @jupyterlab/filebrowser
>=2.1.1 <2.2.0          >=1.0.0 <2.0.0    @jupyterlab/launcher
>=16.9.0 <16.10.0       >=16.8.4 <16.9.0  react
>=16.9.0 <16.10.0       >=16.8.4 <16.9.0  react-dom

README.md fix

Thanks for the great extension!
I just saw this minor things I came across in the README.md:
"pip install jupyterlab_slurm"-> ""pip install jupyterlab-slurm"
"jupyter serverextension enable --py --sys-prefix dask_labextension" -> "jupyter serverextension enable --py --sys-prefix jupyterlab-slurm"

jupyter labextension install jupyterlab-slurm failing

Hi Everyone,

I am attempting to upgrade to 3.0.1 and I am running into the following error:

image

As shown by the pip3 result, I have jupyterlab 3.0.0 installed, so I don't understand why I am getting this error. Any ideas?

Needs to work with newer JupyterLab

Hi! What a wonderful project of course. Can it work with >1.0 JupyterLab?

jupyter labextension install jupyterlab-slurm
An error occured.
ValueError: This extension does not yet support the current version of JupyterLab.


Conflicting Dependencies:
JupyterLab              Extension      Package
>=1.0.1 <2.0.0          >=0.19.1 <0.20.0@jupyterlab/application
>=1.0.1 <2.0.0          >=0.19.1 <0.20.0@jupyterlab/apputils
>=3.0.0 <4.0.0          >=2.0.2 <3.0.0 @jupyterlab/coreutils
>=1.0.1 <2.0.0          >=0.19.1 <0.20.0@jupyterlab/launcher
See the log file for details:  /tmp/jupyterlab-debug-huidy2fh.log

Add "Change directory" option in "Submit Job" dialog

  1. I change directory in Jupyter lab file browser from home to the one, where my scripts reside.
  2. I right-click on a script that I want to submit and choose "Copy path"
  3. I open SLURM queue manager from JupyterLab launcher and press "Submit job"
  4. I paste copied path to the "Enter File path" line of the dialog.

The pasted file path is relative to my home dir and WorkDir of the submitted job is my homedir.

$ scontrol show job 1533553
JobId=1533553 JobName=keras-train
...
   Command=/home/v.eremeev/miracle_gpu_train_demo/train.sbatch
   WorkDir=/home/v.eremeev
   StdErr=/home/v.eremeev/keras-train-1533553.err
   StdIn=/dev/null
   StdOut=/home/v.eremeev/keras-train-1533553.out
   Power=

image

It would be good to have an option to change directory, before call to sbatch.

Another option is to retrieve currently opened folder from Jupyterlab and add cwd=... in call to asyncio.create_subprocess_exec

As a workaround, #SBATCH --chdir=/some/path can be used.

Refactor use of XMLHTTPRequest calls to Jquery's Ajax calls

This is a tentative issue. Currently, the extension is using the low level XMLHTTPRequest objects for handling its Ajax calls. It is possible that using Jquery's higher level Ajax methods will considerably simplify the code's appearance and logic. If so, the code should be refactored to use the Jquery Ajax calls and get rid of all use of XMLHTTPRequest objects. Note: Jquery Ajax calls are a high level abstraction that uses XMLHTTPRequest objects.

RuntimeError: npm dependencies failed to install

Versions:

jupyter core     : 4.5.0
jupyter-notebook : 6.0.1
qtconsole        : 4.5.5
ipython          : 7.8.0
ipykernel        : 5.1.2
jupyter client   : 5.3.3
jupyter lab      : 1.1.4
nbconvert        : 5.6.0
ipywidgets       : 7.5.1
nbformat         : 4.4.0
traitlets        : 4.3.3

Running a conda build of jupyterhub. I got it to work on a jupyterlab install but want it to work for jupyterhub now.

Executing jupyter labextension install jupyterlab-slurm results in:

Node v11.14.0

Building jupyterlab assets (build:dev:minimize)
> /opt/anaconda/anaconda3/bin/npm pack /home/gian/jupyterlab-slurm
npm notice 
npm notice <U+1F4E6>  [email protected]
npm notice === Tarball Contents === 
npm notice 1.9kB  package.json                
npm notice 1.5kB  LICENSE                     
npm notice 1.7kB  README.md                   
npm notice 476B   lib/index.d.ts              
npm notice 24.9kB lib/index.js                
npm notice 250B   lib/slurm-config/config.json
npm notice 7.7kB  style/index.css             
npm notice 1.1kB  style/nersc_icon_small.png  
npm notice 39.4kB style/nersc_icon.png        
npm notice === Tarball Details === 
npm notice name:          jupyterlab-slurm                        
npm notice version:       1.0.3                                   
npm notice filename:      jupyterlab-slurm-1.0.3.tgz              
npm notice package size:  53.2 kB                                 
npm notice unpacked size: 79.0 kB                                 
npm notice shasum:        d02834f661d117d9f7f73b1cbc4c3d967b80d23b
npm notice integrity:     sha512-GqmA1QF+J/bye[...]KZ3dho2aBykpw==
npm notice total files:   9                                       
npm notice 
jupyterlab-slurm-1.0.3.tgz

> node /opt/anaconda/anaconda3/lib/python3.7/site-packages/jupyterlab/staging/yarn.js install --non-interactive
yarn install v1.15.2
[1/5] Validating package.json...
[2/5] Resolving packages...
warning jupyterlab-slurm > [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
warning jupyterlab-slurm > @types/bootstrap > [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
error Couldn't find package "@types/node@*" required by "@types/fs-extra@^5.0.5" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Couldn't find package "@types/node@^13.5.0" required by "jupyterlab-slurm@file:../extensions/jupyterlab-slurm-1.0.3-4804cc8a773a1935c6f46104862021b8133ccfd9.tgz" on the "npm" registry.
    at /opt/anaconda/anaconda3/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/anaconda/anaconda3/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/anaconda/anaconda3/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:86:5)
Error: Couldn't find package "bootstrap@^4.2.1" required by "jupyterlab-slurm@file:../extensions/jupyterlab-slurm-1.0.3-4804cc8a773a1935c6f46104862021b8133ccfd9.tgz" on the "npm" registry.
    at /opt/anaconda/anaconda3/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/anaconda/anaconda3/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/anaconda/anaconda3/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:86:5)

npm dependencies failed to install

I tried building from source as well but same errors.
jlpm install and jlpm run build executes but jupyter labextension install fails similarly.

I tried doing jlpm add @types/node@ and jlpm add bootstrap@^4.2.1 on a test directory as seen from a similar issue and they worked.

Doing npm install on the source build succeeds as well but the extension install itself fails.

Corrupted JupyterLab after installation.

I've got corrupted jupyterlab after installation.

image

Restarting server and kernels did not help.

I've resolved this issue with reinstallation of jupyterlab (conda install --force-reinstall jupyterlab). However, jupyterlab-slurm extension has disappeared after this.

Originally posted by @wl2776 in #27 (comment)

Installation error: KeyError: '@jupyterlab/apputils'

When I try to install (JupyterLab 1.1.1, JupyterHub 1.0), I get the following:

$ jupyter labextension install jupyterlab-slurm
An error occured.
KeyError: '@jupyterlab/apputils'
See the log file for details:  /tmp/jupyterlab-debug-up57412b.log

The log file looks like this:

$ cat /tmp/jupyterlab-debug-up57412b.log
Node v11.14.0

> /home/conda/envs/jupyter_2019/bin/npm pack jupyterlab-slurm
npm notice 
npm notice �  [email protected]
npm notice === Tarball Contents === 
npm notice 1.8kB  package.json                
npm notice 1.5kB  LICENSE                     
npm notice 1.7kB  README.md                   
npm notice 495B   lib/index.d.ts              
npm notice 24.1kB lib/index.js                
npm notice 250B   lib/slurm-config/config.json
npm notice 7.6kB  style/index.css             
npm notice 1.1kB  style/nersc_icon_small.png  
npm notice 39.4kB style/nersc_icon.png        
npm notice === Tarball Details === 
npm notice name:          jupyterlab-slurm                        
npm notice version:       0.1.3                                   
npm notice filename:      jupyterlab-slurm-0.1.3.tgz              
npm notice package size:  52.9 kB                                 
npm notice unpacked size: 78.0 kB                                 
npm notice shasum:        595662bad0cc97c71f2c50d56be7f1fec910e0ad
npm notice integrity:     sha512-KUp9Q2k+QbVfN[...]p8HNCBbtzqcnQ==
npm notice total files:   9                                       
npm notice 
jupyterlab-slurm-0.1.3.tgz

Fetching URL: https://registry.npmjs.org/jupyterlab-slurm
Fetching URL: https://registry.npmjs.org/jupyterlab-slurm
Traceback (most recent call last):

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
    yield

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 93, in start
    ans = self.run_task()

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 147, in run_task
    for i, arg in enumerate(self.extra_args)

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 147, in <listcomp>
    for i, arg in enumerate(self.extra_args)

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/commands.py", line 321, in install_extension
    return handler.install_extension(extension, pin=pin)

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/commands.py", line 525, in install_extension
    info = self._install_extension(extension, tempdir, pin=pin)

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/commands.py", line 1446, in _install_extension
    self._format_no_compatible_package_version(name),

  File "/home/conda/envs/jupyter_2019/lib/python3.7/site-packages/jupyterlab/commands.py", line 1619, in _format_no_compatible_package_version
    c = _compare_ranges(core_deps[key], value)

KeyError: '@jupyterlab/apputils'

Exiting application: jupyter

I'd greatly appreciate any help in sorting this out.

Toggle button for showing only the user's jobs/show all jobs

The extension needs a toggle/radio button that indicates whether the whole queue will be displayed, or only the respective user's jobs. Showing only the user's jobs should probably be the default, as those are the most interesting jobs for most users. This will also greatly reduce the latency in the UI, as squeue -u calls return much faster than displaying the entire queue. This might also reduce the workload put on Slurm.

Currently, the search bar is limited to searching by user only. After the toggle button is implemented, it makes sense to open up the search functionality to other queue fields as well (if not all of them).

Remote slurm

Hello,
Is it possible to run locally jupyter-lab but through ssh the slurm of a cluster? If it is not, this would be a wonderfull feature.
Best,
Sergio

Does "Show my jobs only toggle switch work"?

It's in the title.

It doesn't seem to work -- I know the responsiveness is slow but ideally after about a minute it should change, but it never does.

Searching by username still works to isolate the user's own jobs but I agree with the source code that viewing the user's jobs only should be the default.

Batch job submission

Bring back the previously implemented functionality for submitting a batch job -- this time with a cleaner UI using a modal or a new widget class.

backend config

Make backend service configurable via traitlets (reference issue #48)

Sphinx and Read the Docs extension documentation

I will be creating a Read the Docs page for the jupyterlab-slurm submission. I'm opening an issue for this, as the task will require adding a docs directory to the repo which will contain the Sphinx code that generates the documentation.

DataTables warning, queue not shown

When opening the Slurm Queue Manager, I get a popup:

DataTables warning: table id=queue - Ajax error. For more information about this error, please see http://datatables.net/tn/7

My queue's contents are not displayed even though I have running jobs in there.

Does this extension make any assumptions about the SLURM configuration?

Incompatibility with jupyterlab 4.X

Hi,

it Looks like this extension can only run with jupyterlab 3.*

jupyterlab-slurm 3.1.0 requires jupyterlab==3.*,>=3.0.0rc13, but you have jupyterlab 4.2.1 which is incompatible.

Can you confirm ?

Best regards

More responsive rows on action request

As of now, after a user requests an action, nothing happens until the action completes and the success/error message is displayed. The time this takes varies enormously; the response could appear instantaneously, or it could take several seconds in more extreme cases. Either way, it is not uncommon for response time to be greater than 2 seconds. For this reason, it is imperative that the user receives some instantaneous acknowledgment that the requested action on their job is being processed. This will include immediately de-selecting the row, making the row non-selectable, changing the rows appearance, and possibly displaying some sort of animated indicator that the job is still processing (spinner). After the job has completed, we restore the rows image, and make it restorable once again (or it disappears if it was successfully killed).

Enable JupyterHub functionality

The extension needs the ability to run on the hub -- this turns out to be an easy fix, and can be achieved using the @jupyterlab/coreutil package's PageConfig container. PageConfig provide's the base URL which can be used on the front end to configure the proper request to the server extension. Hub functionality can be achieved without any changes to the backend server extension (although some clean up is due).

Add launcher icon for the jupyterlab-slurm extension

A launcher icon should be added for the jupyterlab-slurm extension, so users don't have to navigate the command palette to launch the extension. This can be done using the @jupyterlab/launcher:ILauncher package. At this point, it seems like the best way to figure out how to implement the launcher icon is to go through existing examples; the best resources are core JupyterLab extensions, such as the terminal-extension.

Ajax error on load

Extension was installed according to instruction, system-wide, in custom python installation in /opt/anaconda

Our Jupyterlab runs on sub-uri /jupyterhub, on port 8000.

Here is the respective line from config

c.JupyterHub.base_url = '/jupyterhub'

On page load, dialog appears, saying

DataTables warning: table id=queue - Ajax error. 
For more information about this error, please see http://datatables.net/tn/7

I've tried studying the information in http://datatables.net/tn/7, and have found that URLs of the form http://localhost:8000/jupyterhub/user/username/squeue?userOnly=false&_=1559054598713 give return code 404

Is there a way to expand the size of the alerts?

Sometimes the errors or other messages that come from Slurm are too large to fit in the one line in the alert dialogs that appear in the screen. The only way to see the full error I know of is to right-click on it (in Chrome), click "Inspect", expand the element containing the alert -- and then inside of its definition will be the full text of the message. But I imagine a lot of users might not think of this and anyway it's really roundabout.

If there is a way to either make the size of the alert increase with the size of the message, or to have some "code-folding" arrow that allows the user to increase the size of the alert by clicking on it in order to see the full message? That seems like that would be a good UX addition.

Slurm Queue Manager doesn't seem to communicate with server

I'm on JupyterLab 1.1.1 behind a JupyterHub 1.0, Firefox 68.0.2 on Linux, no extensions which would interfere (HTTPS everywhere, Privacy Badger).

Manual installation works, and in the Launcher I do have the Slurm Queue Manager which I can launch.

I do get the list of current jobs (which seems to be correct), and all browser-local functions seem to work:

  • change number of shown entries works
  • Submit Job opens a popup modal
  • Selection of jobs with the mouse works
  • Deselect all works
  • Paging through the list of jobs works

However, everything else seems to be not working:

  • I always see all users' jobs irrespective of the Show my jobs only setting
  • When I enter a script in the Submit Job popup and click Submit Query (that's a strang label in this context, btw) the popup closes, but the job does not get submitted
  • The queue list doesn't update: If I submit a new job on the terminal, the list does not get updated, and if a job is over, it remains visible in the list
  • Hold Job and Kill Job don't do anything

Interestingly, I cannot see anything related to the extension in the browser console, and pressing any of the UI elements doesn't trigger any network traffic (at least according to the Network console in the browser).

More immediate feedback for user actions

The feedback is exactly as slow as Slurm is, so if Slurm is slow to respond, it often seems to the user that nothing has happened and then they might mistakenly submit the same job twice. So a helpful improvement might be to have a "Sent to Slurm. Waiting..." message/dialog open or something like that, immediately upon submitting a job or other action.

Slurm Queue Manager Error

Hi,

It's excellent idea to have slurm queue manager in jupyter, however at the moment it's not working, could you please help.

When jupyterlab Slurm Queue Manager is opened and username entered, I'm getting error : "DataTables warning: table id=queue - Ajax error. For more information about this error, please see http://datatables.net/tn/7"

Please find below sg for more info:

image

jupyterlab-slurm does not work with the latest jupyterlab versions

Hi All,

When I try to

$jupyter labextension install @jupyterlab/github

I get this error:

ValueError: The extension "@jupyterlab/github" does not yet support the current version of JupyterLab.

I tried with the latest jupyterlab 2.0 and 3.0 releases.

So am I missing something or jupyterlab-slurm is really not compatible with higher releases?

If it is really not compatible, is there a fix planned soon?

Many thanks,

Oren

Conflicting Dependencies: react-dom

Hello NERSC,

thank you very much for your jupyterlab extension.

We would like to use it with our JupyterLab 1.2.1 installation, but it fails because of conflicting dependencies. This is a similar issue as #25

ValueError:
"[email protected]" is not compatible with the current JupyterLab
Conflicting Dependencies:
JupyterLabExtension Package
>=16.8.4 <16.9.0>=16.0.1 <16.1.0 react-dom

You might want to change it to
"react-dom": "~16.8.4",
in package.json.

Best regards,
Jens Henrik

Problem scancel'ing a job

Here's the traceback:

[E 2021-05-12 07:17:50.587 SingleUserNotebookApp web:1789] Uncaught exception DELETE /user/rthomas/cori-shared-node-cpu/scancel?1620829070570 (24.6.139.138)
    HTTPServerRequest(protocol='https', host='jupyter.nersc.gov', method='DELETE', uri='/user/rthomas/cori-shared-node-cpu/scancel?1620829070570', version='HTTP/1.1', remote_ip='24.6.139.138')
    Traceback (most recent call last):
      File "/global/common/cori_cle7/software/jupyter/cori/20-12/lib/python3.8/site-packages/tornado/web.py", line 1704, in _execute
        result = await result
      File "/global/common/cori_cle7/software/jupyter/cori/20-12/lib/python3.8/site-packages/jupyterlab_slurm/slurm.py", line 48, in delete
        jobID = self.get_body_arguments('jobID')[0]
    IndexError: list index out of range

Unable to view jobs on Slurm Queue Manager

Hi,
I have tried to submit the jobs with Slurm Queue Manager on jupyterhub, jobs are running and getting output as expected. But, not able to view jobs while running or after completed, Means job rows on Slurm Queue Manager.
My Environment:
Python 3.6.9
jupyterlab-slurm 2.0.0
jupyterhub 1.1.0
jupyterlab 2.2.0

image

Anyhow, i am able to get the details from sacct on command line. Please find the attached screenshot and help me to resolve this issue.

Regards,
Zain

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.