-
Notifications
You must be signed in to change notification settings - Fork 5
Outstanding issues
There are still some issues to be resolved before the platform can be fully operational:
Background: each spawned user notebook container requires a mount to a space that is shared across different host machines so that when the next time this is spawned (possibly in a different machine), the old data can be restored.
Problem: the private space has been made available to each VM through NFS server without the no_root_squash
attribute. As a result, mounting a directory owned by root to this space is not possible.
What have been tried:
- Mount
/var/lib/docker/volumes
to the shared space. Failed with error messageError starting daemon: chown /var/lib/docker/volumes: operation not permitted
. Changing the ownership of the private space is also not possible withoperation not permitted
error.mount --bind
has also been tried with resulting error messageError starting daemon: chown /var/lib/docker/volumes: operation not permitted
. - Proxy the NFS mounting by creating an NFS Server with Docker. This is done based on this project. It was thought that the permission can somehow be reconfigured by launching a new NFS server, which means full access to the exports configuration
/etc/exports
. Unfortunately, the same problem remains, permission denied. - Mount shared space to the notebook container and create a user with the same uid and gid as the owner of this shared space. It works if the parent directory is mounted, but it doesn't with a message
Permission denied, access denied by server while mounting <nfs directory>
. Also, it does not solve the centralisation of user directory issue.
Solved: changing the permission of parent directory from 750 to 755 allows the mounting of child directories.
Background: each user that has successfully logged in will be 'given' a workspace for storing any resulting or meta-processing information.
Problem: the user that is created by default in the notebook workspace is called jovyan
, which is non-representative to the project. This needs to be changed to esdc
.
What have been tried:
-
jupyterhub/singleuser
, which is the base image ofcablab/singleuser-python
, has a new base image calledjupyter/base-notebook
that allows an injection of NB user, NB UID, and NB GID through environment variable set injupyterhub_config.py
. An attempt has been made to rebuildcablab/singleuser-python
so that it uses this new base image, but it failed becausegridtools
library clashes with python 3.6. - created a new version of
gridtools
which uses python 3.6. The new image usesjupyter/base-notebook
as a base image. Unfortunately the custom user has not worked yet, encounteredusermod: Failed to change ownership of the home directory
when a new UID is specified. An issue has been logged here
Background: there is a c.SwarmSpawner.start_timeout
(and possibly c.SwarmSpawner.http_timeout
) property in jupyterhub_config.py
that is supposed to control how long the server should wait during the spawning of notebook containers, as stated here
Problem: no matter what values are used, the server always times-out after 10 seconds.
What have been tried:
- checked this file but could not find any indications that the values set in the config file is used.
- an issue has been reported
The following tasks need to be added on the Wiki:
- Architecture
- Deployment instruction
- move the spawner and authenticator into the repository and make them submodules