Git Product home page Git Product logo

bc_osc_jupyter's People

Contributors

dantespe avatar ericfranz avatar gerald-byrket avatar hazelgrant avatar johrstrom avatar kinanalattar avatar laser505t avatar matthu017 avatar morganrodgers avatar nickjer avatar oglopf avatar treydock avatar zqyou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

bc_osc_jupyter's Issues

External library support broken

Not sure whether this is is being maintained by anyone now, but the template scripts use module to purge the module environment.

For user who are using a Python library that requires other modules be loaded so the libraries are accessible to Python, e.g., gdal, this breaks under the scheme presented here and would require that the installers of the Jupyter app also load all modules that might be needed by users.

Is there a reason not to use the environment that the user sets up with, for example, Lmod's default collection device? I am wondering if there was some specific reason for totally purging
all modules prior to Jupyter's start.

Generate connection info only when server is ready

Currently the connection information is generated immediately after launching the Jupyter notebook server. But the server may not be fully loaded, and so the "Connect to Jupyter" button fails. That is why we warn the user with the following text:

screenshot from 2017-10-13 15-10-43

The new Dashboard (not yet released) includes ood_core v0.2.0 which provides a helper Bash function that can wait until a port is used. Calling this in after.sh can postpone the connection file generation until the server is listening for connections.

Add back xsrf and csrf protection to Jupyter

We disabled it for an immediate fix to connecting to Jupyter as we launch using https://github.com/OSC/bc_osc_jupyter/blob/master/connection.html.mustache

The error actually said that the POST was missing _xsrf. So I think we could actually set a hidden field _xsrf with the proper value and it would work. Since we are starting the server, its possible we would know this ahead of time. However, implementing #8 would be another option and then we could just reenable the xsrf/csrf protection because we wouldn't be using POST via a form anymore from vncsim.

Get Jupyter running at a SLURM site

On a branch, modify the files necessary to get Jupyter running at a SLURM site. We can use an ssh tunnel to connect and if necessary install Jupyter in our home directory.

Having this working, modified version at another site will help us understand what parts are Torque and OSC specific and make it easier to discuss generalizing Jupyter or documenting how to fork and modify Jupyter to run elsewhere.

A failed job cannot quit

The function wait_until_port_used in after.sh prevent the a failed job from quitting until timeout. We should check if script.sh is running before this endless loop.

Enable users to bring their own conda env

We have a user that wants to launch Jupyter interactively and connect to it because they have their own conda environment and wish to use it instead of pip installed packages.

I'm wondering if we could just add a checkbox to launch under their own conda environment instead of under our modules and so on.

Error when retrieving installed packages

Get this error on Conda tab:

image

This is due to the code:

/usr/local/anaconda3/lib/python3.5/site-packages/nb_conda/envmanager.py

in particular on line 16:

name, version, build = s.rsplit('-', 2)

because s is a dict generated from a json object instead of a string. The issue on this is tracked here: anaconda/nb_conda#39

We are waiting on them to merge in the pull request with the fix.

be able to choose multiple GPUs

Pitzer expansion nodes have up to 4 GPUs and Pitzer has 2. This ticket is to enable launching Jupyter and allocating N GPUs.

Text formatting is inconsistent

Formatting should be consistent, currently there is:

  • Jupyter notebook
  • Jupyter Notebook
  • Jupyter Notebook server
  • Jupyter Notebook Server

maybe just reduce it to:

  • Jupyter Notebook (when describing the app)
  • Jupyter Notebook server (when discussing the actual server process that listens on a port)

Investigate using Jupyter Authentication Token with GET instead of POST request

https://blog.jupyter.org/2016/12/21/jupyter-notebook-4-3-1/

We have just released Jupyter Notebook 4.3.0 and 4.3.1 with some important security fixes.

4.3.0: Token authentication

The biggest change in 4.3 is the addition of token-based authentication, which is enabled by default.

This would allow us to re-enable xsrf (and csrf) protection in Jupyter because we can avoid using a POST request in a web form from the vncsim connection tab when launching Jupyter and still get single sign on.

Long running SSH command causes Apache timeout

Running module spider julia over SSH appears to take longer than 1 minute in some cases causing an Apache timeout.

A number of solutions present themselves:

  • Move kernel generation out of ERB and into a script to be run on the compute node
  • Keep the SSH command but add a form control asking the user to specify if they want to use Julia; and raise an error if the SSH command takes longer than a preset timeout
  • Use a static list of available Julia versions

use radio button for lab/notebook

use a radio button for lab/notebook switch instead of the checkbox. The question doesn't quite read right.

Also update default to lab?

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.