Skip to content

Commit d1ff64b

Browse files
authored
Added page for OOD 'Run JupyterLab' app (#289)
1 parent 19c1bc9 commit d1ff64b

File tree

3 files changed

+113
-0
lines changed

3 files changed

+113
-0
lines changed

docs/safe-haven-services/open-ondemand/apps.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ The following apps are available as part of Open OnDemand's app suite:
1010
| --- | ---- | ----------- |
1111
| [Active Jobs](apps/active-jobs.md) | System Installed App | Browse and manage jobs created via both apps and the Job Composer app |
1212
| [Run Batch Container](apps/batch-container-app.md) | Tenant and TRE Service | Run a batch container on a back-end |
13+
| [Run JupyterLab](apps/jupyter-os-app.md) | Tenant Service | Run JupyterLab on a back-end which has JupyterLab installed |
1314
| [Run JupyterLab Container](apps/jupyter-app.md) | Tenant Service | Run a JupyterLab container on a back-end |
1415
| [Run RStudio Server Container](apps/rstudio-app.md) | Tenant Service | Run an RStudio Server container on a back-end |
1516
| [Job Composer](apps/job-composer.md) | System Installed App | Write and submit a Slurm batch job to a back-end |
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Run JupyterLab
2+
3+
Run JupyterLab is an app that runs JupyterLab on a back-end within your safe haven. JupyterLab is assumed to have been installed onto the back-end.
4+
5+
---
6+
7+
## Run app
8+
9+
Complete the following information the app form:
10+
11+
* **Cluster**: A back-end (cluster) within your safe haven on which to run JupyterLab. Back-end-specific short-names are used in the drop-down list (see [Back-end (cluster) names](../jobs.md#back-end-cluster-names) for more information). If there is only one back-end available to you then this form field won't be shown.
12+
13+
!!! Note
14+
15+
**National Safe Haven users**: If using a 'desktop' back-end, then you must select the 'desktop' you have been granted access to.
16+
17+
* **CPUs/cores**: CPUs/cores requested for the app's job. Your chosen back-end must have the requested number of cores/CPUs available.
18+
* **Memory (GiB)**: Memory requested for the app's job. Your chosen back-end must have the requested memory available.
19+
20+
Click **Launch**.
21+
22+
Open OnDemand will create job files for the app in a job-specific job context directory in an app-specific directory under your `ondemand` directory and then submits the job for the app to the job scheduler.
23+
24+
Open OnDemand will show an app job card with information about the app's job including:
25+
26+
* Job status (on the top right of the job card): initially 'Queued'.
27+
* 'Created at': The time the job was submitted.
28+
* 'Time Requested': The runtime requested for the job.
29+
* 'Session ID': An auto-generated value which is used as the name of the job-specific job context directory.
30+
* App-specific information, which includes values from the app form:
31+
* 'Connection timeout (s)': when the app's job starts running, the app will then wait for JupyterLab to become available. If this does not occur within this app-specific period, then the app's job will cancel itself.
32+
* 'CPUs/cores': The value you selected on the app form.
33+
* 'Memory (GiB)' The value you selected on the app form.
34+
35+
When the job starts, the Job status on the job card will update to 'Starting' and 'Time Requested' will switch to 'Time Remaining', the time your job has left to run before it is cancelled by the job scheduler.
36+
37+
When the Job status updates to 'Running', a **Host** link will appear on the job card, which allows you to log in to the back-end on which the job, and so JupyterLab, is now running.
38+
39+
A **Connect to JupyterLab** button will appear. JupyterLab is now ready for use.
40+
41+
Click **Connect to JupyterLab**. A new browser tab will open with JupyterLab.
42+
43+
!!! Warning
44+
45+
Open OnDemand will wait 180 seconds (3 minutes) for JupyterLab to start. If it does not start within this time the job will be cancelled.
46+
47+
!!! Warning
48+
49+
JupyterLab will run for a maximum of 6 hours, after which it will be cancelled.
50+
51+
!!! Warning
52+
53+
Any running jobs are cancelled during the monthly TRE maintenance period.
54+
55+
!!! Note
56+
57+
Within the job scheduler, and the [Active Jobs](./active-jobs.md) app, this app's jobs are named 'jupyter_app'.
58+
59+
---
60+
61+
## Log in to JupyterLab
62+
63+
You will not be prompted for a username and password. JupyterLab is protected with an auto-generated password and **Connect to JupyterLab** button is configured to log you in automatically using this password.
64+
65+
---
66+
67+
## Installing Python packages
68+
69+
JupyterLab is configured with your web proxy environment variables so you can install packages from PyPI when using JupyterLab.
70+
71+
---
72+
73+
## View job files
74+
75+
On a job's job card, click the **Session ID** link to open the [File Manager](../files.md), pointing at the job context directory for the job on the Open OnDemand VM.
76+
77+
!!! Note
78+
79+
When using a back-end where your home directory is not common to both the Open OnDemand VM and the back-end, then, if your job creates files on the back-end, you will have to log into the back-end to view your files - see [Log into back-ends](../ssh.md).
80+
81+
---
82+
83+
## Log into back-end
84+
85+
While the job is running, click the **Host** link to log into to back-end on which the job is running.
86+
87+
If the job has completed, see [Log into back-ends](../ssh.md) for ways to log into the back-end.
88+
89+
---
90+
91+
## Take a break
92+
93+
JupyterLab will continue to run even if you do the following:
94+
95+
* Log out of JupyterLab via the **File** menu, **Log Out** option.
96+
* Close the browser tab.
97+
* Log out of Open OnDemand.
98+
* Log out of the VM from which you accessed Open OnDemand.
99+
100+
You can re-access your running JupyterLab via the **Connect to JupyterLab** on your session's [job card](../jobs.md#job-cards) on the [My Interactive Sessions](../jobs.md#my-interactive-sessions-page) page accessed via **My Interactive Sessions** (overlaid squares icon) on the menu bar.
101+
102+
![My Interactive Sessions menu button, an overlaid squares icon](../../../images/open-ondemand/my-interactive-sessions-button.png){: class="border-img center"} ***My Interactive Sessions** menu button*
103+
104+
---
105+
106+
## End your job
107+
108+
You can end your job by as follows:
109+
110+
* Either, shut down JupyterLab via the **File** menu, **Shut Down** option.
111+
* Or, cancel or delete the job via Open OnDemand. See [Browse and manage jobs](../jobs.md#browse-and-manage-jobs).

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ nav:
131131
# - "Apps":
132132
# - "Active Jobs": safe-haven-services/open-ondemand/apps/active-jobs.md
133133
# - "Run Batch Container": safe-haven-services/open-ondemand/apps/batch-container-app.md
134+
# - "Run JupyterLab": safe-haven-services/open-ondemand/apps/jupyter-os-app.md
134135
# - "Run JupyterLab Container": safe-haven-services/open-ondemand/apps/jupyter-app.md
135136
# - "Run RStudio Server Container": safe-haven-services/open-ondemand/apps/rstudio-app.md
136137
# - "Job Composer": safe-haven-services/open-ondemand/apps/job-composer.md

0 commit comments

Comments
 (0)