Skip to content

Commit 9058e01

Browse files
authored
Changed Open OnDemand batch_container_app image (#263)
Default image used by Open OnDemand batch_container_app is image no longer ghcr.io/mikej888/hello-tre:1.0 but is now git.ecdf.ed.ac.uk/tre-container-execution-service/containers/epcc-ces-hello-tre:1.1.
1 parent 72c4cbe commit 9058e01

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

docs/safe-haven-services/open-ondemand/apps/batch-container-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Complete the following information the app form:
1616

1717
**National Safe Haven users**: If using a 'desktop' back-end, then you must select the 'desktop' you have been granted access to.
1818

19-
* **Container/image URL in container registry**: URL specifying both the container to run and the container registry from which it is to be pulled. For example, `ghcr.io/mikej888/hello-tre:1.0`. See [Container registries](../containers.md#container-registries) for supported container registries.
19+
* **Container/image URL in container registry**: URL specifying both the container to run and the container registry from which it is to be pulled. For example, `git.ecdf.ed.ac.uk/tre-container-execution-service/containers/epcc-ces-hello-tre:1.1`. See [Container registries](../containers.md#container-registries) for supported container registries.
2020
* **Container registry username**: Username to access the container registry.
2121
* **Container registry access token**: Access token to access to the container registry. An access token granting **read-only** access to the container registry is **strongly recommended**.
2222
* **Container runner**: Container runner - 'podman' or 'apptainer' - with which to run container on the back-end. The selected runner must be available on the selected back-end.

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ The container registries supported by the Container Execution Service, and so ac
2222

2323
| Container Registry | URL prefix | Example |
2424
| ------------------ | ---------- | ------- |
25-
| GitHub | `ghcr.io` | `ghcr.io/mikej888/hello-tre:1.0` |
26-
| University of Edinburgh ECDF GitLab | `git.ecdf.ed.ac.uk` | `git.ecdf.ed.ac.uk/tre-container-execution-service/containers/hello-tre:1.0` |
25+
| GitHub | `ghcr.io` | `ghcr.io/epcc/hello-tre:1.0` |
26+
| University of Edinburgh ECDF GitLab | `git.ecdf.ed.ac.uk` | `git.ecdf.ed.ac.uk/tre-container-execution-service/containers/epcc-ces-hello-tre:1.1` |
2727

2828
!!! Note
2929

@@ -81,9 +81,9 @@ Any files you create in the directories mounted into the container will be owned
8181

8282
For containers run using Apptainer, you will be your own user within the container.
8383

84-
As a concrete example, consider the `hello-tre` example container (described in [Getting started](getting-started.md)) which outputs in a log file the permissions of the directories mounted into the a container (as described above).
84+
As a concrete example, consider the `epcc-ces-hello-tre` example container (described in [Getting started](getting-started.md)) which outputs in a log file the permissions of the directories mounted into the a container (as described above).
8585

86-
If `hello-tre` is run via Podman, then you will be the 'root' user within the container and the directory permissions logged will be:
86+
If `epcc-ces-hello-tre` is run via Podman, then you will be the 'root' user within the container and the directory permissions logged will be:
8787

8888
```text
8989
/safe_data: nobody (65534) root(0) drwxrwx--- nfs
@@ -101,7 +101,7 @@ as this is in your home directory, and, again, you are `root` but **only** withi
101101

102102
The other directories, mounted from directories in your home directory, likewise have user, and group, `root`.
103103

104-
In contrast, if `hello-tre` is run via Apptainer, then the directory permissions logged are:
104+
In contrast, if `epcc-ces-hello-tre` is run via Apptainer, then the directory permissions logged are:
105105

106106
```text
107107
/safe_data: nobody (65534) your_project_group(4797) drwxrwx--- nfs

docs/safe-haven-services/open-ondemand/getting-started.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Read the form entries in conjunction with the explanations below and make the su
4848
* **Cluster**: A back-end (cluster) within your safe haven on which to run the container. Back-end-specific short-names are used in the drop-down list. If there is only one back-end available to you then this form field won't be shown.
4949
* Select the 'desktop' VM on which you are running the browser in which you are using Open OnDemand.
5050
* **Container/image URL in container registry** cites a URL specifying both the container to run and the container registry from which it is to be pulled.
51-
* Leave this value as-is to use the `ghcr.io/mikej888/hello-tre:1.0` container, hereon termed `hello-tre`.
51+
* Leave this value as-is to use the `git.ecdf.ed.ac.uk/tre-container-execution-service/containers/epcc-ces-hello-tre:1.1` container, hereon termed `epcc-ces-hello-tre`.
5252
* **Container registry username** is a username to access the container registry.
5353
* Leave this value as-is.
5454
* **Container registry access token** is an access token to access to the container registry. An access token granting **read-only** access to the container registry is **strongly recommended**.
@@ -58,21 +58,21 @@ Read the form entries in conjunction with the explanations below and make the su
5858
* **Container name** is the name to be given to the container when it is run. Your job will fail if there is already a running container with that name. If omitted, then the default is `CONTAINER_NAME-SESSION_ID`, where `CONTAINER_NAME` is derived from the image name (if the image name is `my-container:1.0` then `CONTAINER_NAME` is `my-container`) and `SESSION_ID` is a unique session identifier for the app's job.
5959
* Leave this value as-is.
6060
* **Cores** is the number of cores/CPUs requested for this job. To run jobs via Open OnDemand requires you to select the resources you think your job will need, including the number of cores/CPUs. Your selected back-end must have at least that number of cores/CPUs request.
61-
* Leave this value as-is as the all back-ends can provide the default number of cores, and the `hello-tre` container does not need any more.
61+
* Leave this value as-is as the all back-ends can provide the default number of cores, and the `epcc-ces-hello-tre` container does not need any more.
6262
* **Memory in GiB** is the memory requested for this job. Your selected back-end must have at least that amount of memory available.
63-
* Leave this value as-is as the all back-ends can provide the default memory, and the `hello-tre` container does not need any more.
63+
* Leave this value as-is as the all back-ends can provide the default memory, and the `epcc-ces-hello-tre` container does not need any more.
6464
* **Use GPU?** requests that the container use a GPU. If selected, then your selected back-end must have a GPU.
65-
* Leave this value as-is, as the `hello-tre` container does not require a GPU.
65+
* Leave this value as-is, as the `epcc-ces-hello-tre` container does not require a GPU.
6666
* **Command-line options to pass to container runner** are container runner-specific options to control the container runner's behaviour.
6767
* Leave this value as-is, as the container does not require any such options to be set.
68-
* **Environment variables to pass to container** are environment variables to be passed on by the container runner and set within the container when it runs. The `hello-tre` container looks for a `HELLO_TRE` environment variable. If set, then the container will print the variable's value as a greeting. If undefined, then the greeting is `Hello`.
68+
* **Environment variables to pass to container** are environment variables to be passed on by the container runner and set within the container when it runs. The `epcc-ces-hello-tre` container looks for a `HELLO_TRE` environment variable. If set, then the container will print the variable's value as a greeting. If undefined, then the greeting is `Hello`.
6969
* Enter:
7070

7171
```text
7272
HELLO_TRE=Hello there
7373
```
7474

75-
* **Arguments to pass to container** are container-specific arguments to be passed directly to the container when it runs. The `hello-tre` container supports two container-specific arguments:
75+
* **Arguments to pass to container** are container-specific arguments to be passed directly to the container when it runs. The `epcc-ces-hello-tre` container supports two container-specific arguments:
7676
* A `-d|--duration INTEGER` argument which causes the container to sleep (pause) for that number of seconds. If undefined, then the container does not sleep.
7777
* A `-n|--name STRING` argument which causes the container to print a greeting with that name. If undefined, then the name is `user`.
7878
* Enter the following to request a sleep of 10 seconds and a greeting with your name:
@@ -115,7 +115,7 @@ Open OnDemand will show an app **job card** with information about the app's job
115115
116116
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.
117117
118-
When the Job status updates to 'Running', a **Host** link will appear on the job card. This is the back-end on which the job, and so the `hello-tre` container, is now running. A message of form 'Container hello-tre-SESSION_ID is now running. Please wait until the container completes.' will also appear on the job card.
118+
When the Job status updates to 'Running', a **Host** link will appear on the job card. This is the back-end on which the job, and so the `epcc-ces-hello-tre` container, is now running. A message of form 'Container epcc-ces-hello-tre-SESSION_ID is now running. Please wait until the container completes.' will also appear on the job card.
119119
120120
![Run Batch Container app job card showing job status as 'Running'](../../images/open-ondemand/getting-started-03-batch-container-app-running.png){: class="border-img center"}
121121
*Run Batch Container app job card showing job status as 'Running'*
@@ -129,7 +129,7 @@ The Job status on the job card will update to 'Completed'.
129129
130130
### How containers exchange files with back-ends
131131
132-
Open OnDemand uses TRE Container Execution Service tools to run containers and containers run via Open OnDemand **must** conform to the requirements of the TRE Container Execution Service, and `hello-tre` does. For this walkthrough, the key points are that containers need to support three directories, so that when the container is run, three directories on the back-end can be mounted into the container:
132+
Open OnDemand uses TRE Container Execution Service tools to run containers and containers run via Open OnDemand **must** conform to the requirements of the TRE Container Execution Service, and `epcc-ces-hello-tre` does. For this walkthrough, the key points are that containers need to support three directories, so that when the container is run, three directories on the back-end can be mounted into the container:
133133
134134
| Back-end directory | Container directory | Description |
135135
| ------------------ | ------------------- | ----------- |
@@ -139,7 +139,7 @@ Open OnDemand uses TRE Container Execution Service tools to run containers and c
139139
140140
Together, these mounts provides a means for data, configuration files, scripts and code to be shared between the back-end on which the container is running and the environment within the container itself. Creating or editing a file within any of these directories on the back-end means that the changes will be available within the container, and vice-versa.
141141
142-
When the `hello-tre` container is run, it writes two files into `/safe_outputs` within the container, and so into a `$HOME/outputs-NUMBER` on your home directory on the back-end:
142+
When the `epcc-ces-hello-tre` container is run, it writes two files into `/safe_outputs` within the container, and so into a `$HOME/outputs-NUMBER` on your home directory on the back-end:
143143
144144
* `safe_data.txt`, which lists a selection of directories and files in the `/safe_data/PROJECT_SUBDIRECTORY` directory that was mounted into the container at `/safe_data`.
145145
* `safe_outputs.txt` which has a `This text is in safe_outputs.txt` message.
@@ -183,7 +183,7 @@ As you have accessed Open OnDemand from your 'desktop' VM, you could also access
183183
184184
When an app job runs, a log file is created within the job-specific job context directory in an app-specific directory under your `ondemand` directory. This log file includes information from the app itself plus logs captured from the container as it runs. It can be useful to check the log file when debugging.
185185
186-
For the `hello-tre` container, the logs includes information about the mounts and also a greeting and sleep (pause) information based on the environment variable and container arguments you defined in the app's form.
186+
For the `epcc-ces-hello-tre` container, the logs includes information about the mounts and also a greeting and sleep (pause) information based on the environment variable and container arguments you defined in the app's form.
187187
188188
As for the output files, you can use either the File Manager (non-DataLoch safe haven users only) or log into the back-end (all users) to view the log file.
189189
@@ -210,7 +210,7 @@ View the log file within the back-end:
210210
cat output.log
211211
```
212212
213-
For the `hello-tre` container, the log file includes four types of log information. There is information from the app itself and it sets itself up to run the container:
213+
For the `epcc-ces-hello-tre` container, the log file includes four types of log information. There is information from the app itself and it sets itself up to run the container:
214214
215215
```text
216216
Wed Jul 30 11:32:41 UTC 2025 before.sh: JOB_FOLDER: /home/eidf147/eidf147/mikej147/ondemand/data/sys/dashboard/batch_connect/sys/batch_container_app/output/4e0efea9-c556-4800-bcfd-414dbd92ed3c
@@ -256,7 +256,7 @@ Arguments (one per line):
256256
Mike
257257
```
258258

259-
For some containers run via Podman, including `hello-tre`, you are the 'root' user within the container but **only** within the container. This is why the files in the mounts belong to a 'root' or 'nobody' user and 'root' group when accessed from **within** the container. Any files you create in the mounted directories will be owned by your own user, and user group, on the back-end. You can check this yourself by inspecting the file ownership of the files within `safe_outputs/batch_container/SESSION_ID`.
259+
For some containers run via Podman, including `epcc-ces-hello-tre`, you are the 'root' user within the container but **only** within the container. This is why the files in the mounts belong to a 'root' or 'nobody' user and 'root' group when accessed from **within** the container. Any files you create in the mounted directories will be owned by your own user, and user group, on the back-end. You can check this yourself by inspecting the file ownership of the files within `safe_outputs/batch_container/SESSION_ID`.
260260

261261
Returning to the log file, there is information from the container itself about your user name within the container and the directories mounted into the container, including a message created using the value of the `HELLO_TRE` environment variable and the `-n` container argument, messages indicating that the container is sleeping for the duration specified by the `-d` container argument, and a farewell message, again using the `-n` container argument.
262262

0 commit comments

Comments
 (0)