Table of Contents
Jupyterhub @ ICS
ICS Instructors, researchers and students are invited to connect to Jupterlab@ICS https://hub.ics.uci.edu.
Jupyterlab@ICS turns any web browser into a personal Linux server offering a Linux terminal, Jupyter Notebook, an X11 desktop and other web-based apps such as Rstudio, VSCode. ICS home directories are mounted to provide persistent storage.
Fall Quarter Improvements
- A larger, faster flash storage backend.
- Self managed package installation (`sudo apt`)
- Longer run times (idle nodes are removed after 7 days)
- More hardware behind the cluster
- Specialized research group and course offerings.
- Larger pods with up to 8 cores and 16GB RAM.
- Latest version of VSCode and Rstudio web apps.
- Jupyterhub has been updated to 1.4.2 and kubernetes 1.19
Jupyterlab@ICS is built on donated equipment in the openlab cluster for research and instructional computing.
Key features and benefits:
- Nothing to configure, no VM to run, no modules to load.
- Prior sessions can be reopened from the Running Terminals and Kernels pane.
- Persistent storage in your ICS home directory.
- Students and instructors work in the same cloud IDE.
- Works for any OS and any browser.
- Customizable per course of per research group.
- Users are isolated from one another.
- Mid-quarter update.
When you login to ICS Jupyterhub using any web browser, you get a personal docker container
- Ubuntu 20.04
- 18 nodes
- 360 CPU Cores
- 1.33 TiB Memory Total
- Up to up to 8 vcpu cores and 16 GB RAM More
- Backed by super quick all flash storage Faster
- Your own ICS Account home directory
- `sudo apt` allows self-service software installation.
- Shiny Server
- CLI Tools
- gcc/g++ and debugger
- GIT Integration tools
- X11 DEsktop
- Jupyterhub Git Integration Guide Good place for help
ICS is running a Jupyter lab.
Creating multiple servers
Users can start multiple Jupyter servers on a single JupyterHub instance.
In order to start a second server, navigate to the Hub Control Panel in “File > Hub Control Panel”
This will open a new tab.
Enter a name for your new server, then click on the link to the right: “Add New Server”.
The https://hub.ics.uci.edu site includes a wide number of extensions. These extensions will come and go during the quarter based on availability, usefullness, load, and security. Please send any requests for new extensions to firstname.lastname@example.org.
Specific Course Hubs
Instructors may request a course specific hub. Available plugins will not change during the quarter except in response to extreme security vulnerabilities. Course hubs can be restricted to enrolled students and students on a list curated by the instructor. Upon request, instructors may be given rights to view student projects.
- Ubuntu 20.04
- Base notebook changed to https://hub.docker.com/r/jupyter/scipy-notebook
- R version 4.0.2
1. Open the jhub filebrowser by clicking on the indicated file browser icon:
2. Drag files from your local computer into the file tree on the left hand window pane in your browser. This uploads the file into your ICS account:
FAQ and Troubleshooting
How do I debug C++ code in VSCode
A Install the C/C++ IntelliSEnse extension for VSCode:
Q My pod is stopped after 1 hour of idleness (3600 seconds) A By defualt, jupyterhub culls idle pods after 3600 seconds. That has been extended to 1 week on stage. Culling User Pods
Q I receive the error “Please use a different workspace.”
Please use a different workspace. This workspace is already in use in another JupyterLab window. Please enter another workspace name.
Q “503 : Service Unavailable Your server appears to be down. Try restarting it from the hub.”
You ran out of space or have too many files on your home directory (H:). Delete files as needed.
A You already have a Jupyterlab browser open. Simply type in a name for the new desktop, anything you like, and click on “Switch Workspace”.
Q Are we using our own docker hub
A We run Harbor locally.
We were very happy with it until version 1.9 implemented an AD specific directory search. We are currently running an ICS fork but, if the folks at goharbor do not fix it, we will need to find another solution.
Q RStudio does not have the same installed packages as R
A Use the following command to add the local conda library to your RStudio session
.libPaths( c( "/opt/conda/lib/R/library/" , .libPaths() ) )
Q Desktop blank or only shows a black background.
A In the past this has happened when moving from an older version of the hub to a newer one. See fi the following steps resolve the issue:
- Click on the stop server button in https://hub.ics.uci.edu/hub/admin#/
- ssh into openlab.ics.uci.edu and `rm -rf ~/.jupyterhub ~/.config/xfce4`
Submitting a Trouble Report
Places to get help
First and foremost, bring the problem to your instructor's or TA's attention. Chances are you are not the only one experiencing this problem and they will be able to help or provide you with the next steps to resolving your problem.
Your instructor may ask to you submit a trouble report to the ICS Computing Support Helpdesk if they don't have the solution or if you need more help than they can provide.
How to submit
In order to submit a helpdesk, please include the following information in an email to email@example.com:
- ICS Account Name
- Hub Insance (e.g. ics51, ics53)
- Location(e.g. Home, Openlab, Middle Earth)
- Campus VPN
- Operating System
- Hub Applications (e.g. desktop, termlina, R)
- Time and date that the problem occured
Can't Delete Pod
kubectl -n jhub-ics53 delete pod jupyter-dingruiz ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedKillPod 2m19s (x55 over 111m) kubelet, centaurus-5 error killing pod: failed to "KillContainer" for "notebook" with KillContainerError: "rpc error: code = Unknown desc = operation timeout: context deadline exceeded"
kubectl -n jhub-ics53 delete pod jupyter-dingruiz
If that doesn't work:
kubectl -n jhub-ics53 delete pod jupyter-dingruiz --now
When all else fails:
kubectl -n jhub-ics53 delete pod jupyter-dingruiz --grace-period=0 --force
Can't Start a Server
See helpdesk ticket 73286
It appears as if the server failed to start:
Running `kubectl -n jhub log jupyter-junjies1`, immediately after opening starting the jhub server, revealed log messages regarding permissions.
In this case, the user home directory was set to 0700. Setting the user home directory to 0711 resolved the problem.