diff options
-rw-r--r-- | topics/notebooks/binderlite-cli.gmi | 19 | ||||
-rw-r--r-- | topics/notebooks/guix-containers.gmi | 18 | ||||
-rw-r--r-- | topics/notebooks/pluto.gmi | 22 | ||||
-rw-r--r-- | topics/notebooks/port-map.gmi | 14 | ||||
-rw-r--r-- | topics/notebooks/reproducibility.gmi | 22 | ||||
-rw-r--r-- | topics/notebooks/user-stories.gmi | 126 |
6 files changed, 0 insertions, 221 deletions
diff --git a/topics/notebooks/binderlite-cli.gmi b/topics/notebooks/binderlite-cli.gmi deleted file mode 100644 index 81e6db8..0000000 --- a/topics/notebooks/binderlite-cli.gmi +++ /dev/null @@ -1,19 +0,0 @@ -# CLI Features - -## Tags - -* assigned: jgart -* priority: low -* status: unclear -* type: feature-request -* keywords: bindelite, notebooks - -## Admin - -* Clear Database - -## User - -* Upload Notebooks -* List Notebooks -* Download Notebooks diff --git a/topics/notebooks/guix-containers.gmi b/topics/notebooks/guix-containers.gmi deleted file mode 100644 index 134acc1..0000000 --- a/topics/notebooks/guix-containers.gmi +++ /dev/null @@ -1,18 +0,0 @@ -# Guix Containers - -## Tags - -* type: bug -* assigned: jgart -* status: unclear -* priority: medium -* keywords: notebooks, guix, containers - -## Bugs - -guix container exec command does not currently work: - -http://issues.guix.gnu.org/50916 - -Good to know in case we think we might need it for something container related -in the future. diff --git a/topics/notebooks/pluto.gmi b/topics/notebooks/pluto.gmi deleted file mode 100644 index b924020..0000000 --- a/topics/notebooks/pluto.gmi +++ /dev/null @@ -1,22 +0,0 @@ -# Julia Pluto - -## Tags - -* type: documentation -* status: unclear - -## Pluto in a Guix container - -We run Pluto in a container. It allows for self-install of Julia packages: - -``` -guix environment -L ~/guix-past/modules/ -L ~/guix-bioinformatics/ julia-visuals -C --ad-hoc vim bash wget openssl nss --network -``` - -To prevent complaints of SSL set the path correctly, or simply (not ideal) - -``` -echo "check_certificate = off" >> ~/.wgetrc - -bash runpluto.sh 4343 -``` diff --git a/topics/notebooks/port-map.gmi b/topics/notebooks/port-map.gmi deleted file mode 100644 index 4a7d680..0000000 --- a/topics/notebooks/port-map.gmi +++ /dev/null @@ -1,14 +0,0 @@ -# port map - -|-----|-----------| -|port |service | -|-----|-----------| -|80 |nginx | -|8989 |binderlite | -|xxxx |jupyter(s) | - - -## Tags - -* type: documentation -* keywords: documentation, port map diff --git a/topics/notebooks/reproducibility.gmi b/topics/notebooks/reproducibility.gmi deleted file mode 100644 index 7219539..0000000 --- a/topics/notebooks/reproducibility.gmi +++ /dev/null @@ -1,22 +0,0 @@ -# Reproducibility - -## How Guix manages reproducibility - -=> https://hpc.guix.info/blog/2021/09/whats-in-a-package/ whats in a package - -=> https://lists.gnu.org/archive/html/emacs-bug-tracker/2019-11/msg00569.html - -=> https://guix.gnu.org/cookbook/en/html_node/Basic-setup-with-manifests.html - -## Notes on how others are managing or thinking about reproducibility - -https://github.com/fonsp/Pluto.jl#built-in-package-manager - -https://mybinder.readthedocs.io/en/latest/tutorials/reproducibility.html#pin-dependencies - -## Tags - -* type: documentation -* priority: medium -* assigned: jgart -* keywords: documentation, notebooks, reproducibility, guix diff --git a/topics/notebooks/user-stories.gmi b/topics/notebooks/user-stories.gmi deleted file mode 100644 index 013ee48..0000000 --- a/topics/notebooks/user-stories.gmi +++ /dev/null @@ -1,126 +0,0 @@ -# Next Steps - -## Tags - -* assigned: jgart -* type: enhancement -* keywords: notebooks, jupyter -* status: unclear - -## Description -Whenever we start a notebook let's generate an id (put the id in a db or in memory start) and then accept the id as -part of the route to get to the notebook. - -The server has to look that id up and route the user to that particular jupyter notebook instance. - -Currently, users are directed to a jupyter notebook instance via parsing the output of `list_running_servers`: - -=> https://git.genenetwork.org/jgart/binderlite/src/branch/master/app.py#L37 list_running_servers in binderlite src - -This has its issues because we cannot uniquely identify the last launched notebook. - -## Optimizations - -### Shutdown notebook and save to memory - -If we are shutting down the notebook to save memory then we want -to remember it's location in order to return to it. - -The jupyter notebook API has a function for listing currently running notebooks (mentioned above): - -``` -def list_running_servers(runtime_dir=None): - """Iterate over the server info files of running notebook servers. - - Given a runtime directory, find nbserver-* files in the security directory, - and yield dicts of their information, each one pertaining to - a currently running notebook server instance. - """ -``` - -There is also a function for getting a timestamp of the last time the notebook server did something: - -``` - def last_activity(self): - """Get a UTC timestamp for when the server last did something. - - Includes: API activity, kernel activity, kernel shutdown, and terminal - activity. - """ -``` - -I need to decide on a way to uniquely identify the last built jupyter notebook. - -### Shutdown kernels gracefully - -* shutdown jupyter gracefully - -Find a way to shutdown jupyter kernels gracefully. Jupyter kernels are currently shutdown by sending a kill signal -(SIGINT, Ctrl+c) via the terminal. - -This currently produces the following error: - -``` -Exception in thread Thread-1: -Traceback (most recent call last): - File "/gnu/store/sd2ic7bpv8fx3imy1j8xcjclx71sv6q0-python-3.8.2/lib/python3.8/threading.py", line 932, in _bootstrap_inner - self.run() - File "/gnu/store/sd2ic7bpv8fx3imy1j8xcjclx71sv6q0-python-3.8.2/lib/python3.8/threading.py", line 870, in run - self._target(*self._args, **self._kwargs) - File "/gnu/store/w9bgs701xg1gbhxb6a4fsrjkj10c4sxc-python-notebook-6.3.0/lib/python3.8/site-packages/notebook/notebookapp.py", line 1961, in _confirm_exit - line = sys.stdin.readline() - OSError: [Errno 5] Input/output error -``` - -## guix-kernel runs by default in a container - -guix-kernel (AKA guix-jupyter) runs by default in a container. - -See here: - -=> https://gitlab.inria.fr/guix-hpc/guix-kernel/-/blob/master/guix/jupyter/kernel.scm#L181 eval/container* - -The reason I bring this up is because I currently run binderlite without the `--container` flag. - -If I try to run it with the `--container` flag then I run into permission issues due to running a container - -inside another container. - -## Question(s) - -### - -What is the idiomatic way in nginx to forward everything beyond some prefix. - -Currently using the $rest arg but that might not be a good way to do it: - -=> https://git.genenetwork.org/jgart/binderlite/src/branch/master/nginx.conf#L36 - -### - -Do we want to avoid hard coding guix-kernel to run inside a container and instead be able to explicitly -specify a container environment from the binderlite app or should this be left to guix-kernel? - -See above section on guix-kernel running by default in a container. - -Suggestion: we will create our own derived kernels and dependencies. - -### - -I currently cannot kill running jupyter instances on penguin2: - -``` -kill-jupyter -kill: (1251): Operation not permitted -kill: (34495): No such process -kill: (52689): Operation not permitted -kill: (52720): Operation not permitted -kill: (52956): Operation not permitted -Killed -``` - -=> https://git.genenetwork.org/jgart/binderlite/src/branch/master/bin/kill-jupyter kill-jupyter - -How should I get around this? - -Suggestion: try killing a container rather then the jupyter process. Use the pid of the container. |