Skip to content

Commit c745a4a

Browse files
chore(rstudio): remove unused c9s RStudio workbenches from rhoai-3.4
RHDS ships only the RHEL9 RStudio images to customers. The c9s tree lacked Dockerfile.konflux.* and broke KONFLUX=yes Build Notebooks CI. Keep rstudio/rhel9-python-3.12 as the sole RStudio workbench on this branch. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent f9e9e87 commit c745a4a

45 files changed

Lines changed: 14 additions & 1357 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/pr-merge-image-delete.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,16 @@ jobs:
5959
6060
set +e # Don't abort if a delete operation fails as all images might not be available for the PR
6161
62-
# Python 3.11
63-
skopeo delete docker://${QUAY_IMAGE_REPO}:rstudio-c9s-python-3.11-pr-${{ env.PR }}
64-
skopeo delete docker://${QUAY_IMAGE_REPO}:cuda-rstudio-c9s-python-3.11-pr-${{ env.PR }}
62+
# Python 3.11 (legacy PR tags; keep deletes best-effort)
63+
skopeo delete docker://${QUAY_IMAGE_REPO}:rstudio-rhel9-python-3.11-pr-${{ env.PR }}
64+
skopeo delete docker://${QUAY_IMAGE_REPO}:cuda-rstudio-rhel9-python-3.11-pr-${{ env.PR }}
6565
6666
# Python 3.12
6767
skopeo delete docker://${QUAY_IMAGE_REPO}:base-ubi9-python-3.12-pr-${{ env.PR }}
6868
skopeo delete docker://${QUAY_IMAGE_REPO}:base-c9s-python-3.12-pr-${{ env.PR }}
6969
skopeo delete docker://${QUAY_IMAGE_REPO}:cuda-ubi9-python-3.12-pr-${{ env.PR }}
70+
skopeo delete docker://${QUAY_IMAGE_REPO}:rstudio-rhel9-python-3.12-pr-${{ env.PR }}
71+
skopeo delete docker://${QUAY_IMAGE_REPO}:cuda-rstudio-rhel9-python-3.12-pr-${{ env.PR }}
7072
skopeo delete docker://${QUAY_IMAGE_REPO}:cuda-c9s-python-3.12-pr-${{ env.PR }}
7173
skopeo delete docker://${QUAY_IMAGE_REPO}:jupyter-minimal-ubi9-python-3.12-pr-${{ env.PR }}
7274
skopeo delete docker://${QUAY_IMAGE_REPO}:jupyter-datascience-ubi9-python-3.12-pr-${{ env.PR }}

Makefile

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -219,16 +219,6 @@ runtime-cuda-tensorflow-ubi9-python-$(RELEASE_PYTHON_VERSION):
219219
codeserver-ubi9-python-$(RELEASE_PYTHON_VERSION):
220220
$(call image,$@,codeserver/ubi9-python-$(RELEASE_PYTHON_VERSION)/Dockerfile.cpu)
221221

222-
####################################### Buildchain for Python using C9S #######################################
223-
224-
.PHONY: rstudio-c9s-python-$(RELEASE_PYTHON_VERSION)
225-
rstudio-c9s-python-$(RELEASE_PYTHON_VERSION):
226-
$(call image,$@,rstudio/c9s-python-$(RELEASE_PYTHON_VERSION)/Dockerfile.cpu)
227-
228-
.PHONY: cuda-rstudio-c9s-python-$(RELEASE_PYTHON_VERSION)
229-
cuda-rstudio-c9s-python-$(RELEASE_PYTHON_VERSION):
230-
$(call image,$@,rstudio/c9s-python-$(RELEASE_PYTHON_VERSION)/Dockerfile.cuda)
231-
232222
####################################### Buildchain for Python using rhel9 #######################################
233223

234224
.PHONY: rstudio-rhel9-python-$(RELEASE_PYTHON_VERSION)
@@ -439,7 +429,7 @@ validate-rstudio-image: bin/kubectl
439429
fi
440430
done
441431
echo "=> Fetching R script from URL and executing on the container..."
442-
curl -sSL -o test_script.R "${NOTEBOOK_REPO_BRANCH_BASE}/rstudio/c9s-python-$(PYTHON_VERSION)/test/test_script.R" > /dev/null 2>&1
432+
curl -sSL -o test_script.R "${NOTEBOOK_REPO_BRANCH_BASE}/rstudio/rhel9-python-$(PYTHON_VERSION)/test/test_script.R" > /dev/null 2>&1
443433
$(KUBECTL_BIN) cp test_script.R rstudio-pod:/opt/app-root/src/test_script.R > /dev/null 2>&1
444434
if $(KUBECTL_BIN) exec rstudio-pod -- Rscript /opt/app-root/src/test_script.R > /dev/null 2>&1 ; then
445435
echo "R script executed successfully!"
@@ -529,8 +519,6 @@ all-images: \
529519
rocm-runtime-pytorch-ubi9-python-$(RELEASE_PYTHON_VERSION) \
530520
rocm-runtime-tensorflow-ubi9-python-$(RELEASE_PYTHON_VERSION) \
531521
rocm-jupyter-tensorflow-ubi9-python-$(RELEASE_PYTHON_VERSION) \
532-
rstudio-c9s-python-$(RELEASE_PYTHON_VERSION) \
533-
cuda-rstudio-c9s-python-$(RELEASE_PYTHON_VERSION) \
534522
rstudio-rhel9-python-$(RELEASE_PYTHON_VERSION) \
535523
cuda-rstudio-rhel9-python-$(RELEASE_PYTHON_VERSION)
536524
else

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,12 +226,12 @@ This table provides a concise overview of the support status for various contain
226226
| CPU DataScience | - | 3.12 | UBI9 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-datascience-cpu-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-datascience-cpu-py312-ubi9?tab=tags) |
227227
| CPU TrustyAI | - | 3.12 | UBI9 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-trustyai-cpu-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-trustyai-cpu-py312-ubi9?tab=tags) |
228228
| CPU CodeServer | - | 3.12 | UBI9 ||||| [quay.io/repository/opendatahub/odh-workbench-codeserver-datascience-cpu-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-codeserver-datascience-cpu-py312-ubi9?tab=tags) |
229-
| CPU RStudio | - | 3.12 | C9S ||| - | - | [quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cpu-py312-c9s](https://quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cpu-py312-c9s?tab=tags) |
229+
| CPU RStudio | - | 3.12 | RHEL9 ||| - | - | [quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cpu-py312-rhel9](https://quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cpu-py312-rhel9?tab=tags) |
230230
| CUDA Minimal | 12.8 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-minimal-cuda-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-minimal-cuda-py312-ubi9?tab=tags) |
231231
| CUDA PyTorch | 12.8 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-pytorch-cuda-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-pytorch-cuda-py312-ubi9?tab=tags) |
232232
| CUDA PyTorch LLMCompressor | 12.8 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9?tab=tags) |
233233
| CUDA TensorFlow | 12.8 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-tensorflow-cuda-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-tensorflow-cuda-py312-ubi9?tab=tags) |
234-
| CUDA RStudio | 12.8 | 3.12 | C9S ||||| [quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cuda-py312-c9s](https://quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cuda-py312-c9s?tab=tags) |
234+
| CUDA RStudio | 12.8 | 3.12 | RHEL9 ||||| [quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cuda-py312-rhel9](https://quay.io/repository/opendatahub/odh-workbench-rstudio-minimal-cuda-py312-rhel9?tab=tags) |
235235
| ROCM Minimal | 6.3 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-minimal-rocm-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-minimal-rocm-py312-ubi9) |
236236
| ROCM PyTorch | 6.3 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-pytorch-rocm-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-pytorch-rocm-py312-ubi9?tab=tags) |
237237
| ROCM TensorFlow | 6.3 | 3.12 | UBI9/RHEL9.6 ||||| [quay.io/repository/opendatahub/odh-workbench-jupyter-tensorflow-rocm-py312-ubi9](https://quay.io/repository/opendatahub/odh-workbench-jupyter-tensorflow-rocm-py312-ubi9?tab=tags) |

ci/cached-builds/make_test.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -205,15 +205,6 @@ def test_make_commands_codeserver(self, mock_execute: unittest.mock.Mock) -> Non
205205
assert "make validate-codeserver-image image=codeserver-ubi9-python-3.11" in commands
206206
assert "make undeploy9-codeserver-ubi9-python-3.11" in commands
207207

208-
@unittest.mock.patch(target)
209-
def test_make_commands_rstudio(self, mock_execute: unittest.mock.Mock) -> None:
210-
"""Compares the commands with what we had in the openshift/release yaml"""
211-
run_tests("rstudio-c9s-python-3.11")
212-
commands: list[str] = [c[0][1][0] for c in mock_execute.call_args_list]
213-
assert "make deploy-c9s-rstudio-c9s-python-3.11" in commands
214-
assert "make validate-rstudio-image image=rstudio-c9s-python-3.11" in commands
215-
assert "make undeploy-c9s-rstudio-c9s-python-3.11" in commands
216-
217208
@unittest.mock.patch(target)
218209
def test_make_commands_rsudio_rhel(self, mock_execute: unittest.mock.Mock) -> None:
219210
"""Compares the commands with what we had in the openshift/release yaml"""
@@ -223,15 +214,6 @@ def test_make_commands_rsudio_rhel(self, mock_execute: unittest.mock.Mock) -> No
223214
assert "make validate-rstudio-image image=rstudio-rhel9-python-3.11" in commands
224215
assert "make undeploy-rhel9-rstudio-rhel9-python-3.11" in commands
225216

226-
@unittest.mock.patch(target)
227-
def test_make_commands_cuda_rstudio(self, mock_execute: unittest.mock.Mock) -> None:
228-
"""Compares the commands with what we had in the openshift/release yaml"""
229-
run_tests("cuda-rstudio-c9s-python-3.11")
230-
commands: list[str] = [c[0][1][0] for c in mock_execute.call_args_list]
231-
assert "make deploy-c9s-rstudio-c9s-python-3.11" in commands
232-
assert "make validate-rstudio-image image=cuda-rstudio-c9s-python-3.11" in commands
233-
assert "make undeploy-c9s-rstudio-c9s-python-3.11" in commands
234-
235217
@unittest.mock.patch(target)
236218
def test_make_commands_cuda_rstudio_rhel(self, mock_execute: unittest.mock.Mock) -> None:
237219
"""Compares the commands with what we had in the openshift/release yaml"""

docs/fetching_registry_redhat_io_index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -342,14 +342,14 @@ This happens because the images are built by separate Konflux pipelines that may
342342

343343
## Repository Name Mapping
344344

345-
The Red Hat catalog uses `rhel9` in repository names, while the upstream ODH/params.env convention uses `ubi9`. RStudio images use `c9s` (CentOS Stream 9) and are **not published to the Red Hat catalog** at all.
345+
The Red Hat catalog uses `rhel9` in repository names, while the upstream ODH/params.env convention uses `ubi9`.
346346

347347
| Catalog repository | params.env variable name | Notes |
348348
|-------------------|--------------------------|-------|
349349
| `rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9` | `odh-workbench-jupyter-minimal-cpu-py312-ubi9` | `rhel9``ubi9` |
350350
| `rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9` | `odh-workbench-codeserver-datascience-cpu-py312-ubi9` | `rhel9``ubi9` |
351-
| *(not in catalog)* | `odh-workbench-rstudio-minimal-cpu-py312-c9s` | quay.io only |
352-
| *(not in catalog)* | `odh-workbench-rstudio-minimal-cuda-py312-c9s` | quay.io only |
351+
| `rhoai/odh-workbench-rstudio-minimal-cpu-py312-rhel9` | *(RHOAI ImageStreams)* | RStudio ships as RHEL9 only |
352+
| `rhoai/odh-workbench-rstudio-minimal-cuda-py312-rhel9` | *(RHOAI ImageStreams)* | RStudio ships as RHEL9 only |
353353

354354
The `params.env` value format is `registry.redhat.io/rhoai/<catalog-repo-name>@sha256:<digest>` -- note the value still uses the `rhel9` catalog name, only the variable name on the left side uses `ubi9`.
355355

@@ -399,6 +399,6 @@ The script handles the `rhel9` → `ubi9` variable name mapping automatically an
399399

400400
10. **`manifest_list_digest` vs `manifest_schema2_digest`**: Each image entry has both. `manifest_list_digest` is the multi-arch manifest (same on all arch entries for a tag). `manifest_schema2_digest` is the per-architecture digest. For multi-platform deployments, use `manifest_list_digest`. There is no top-level `docker_image_digest` field in the `include` projection -- it won't be returned even if requested; use the two fields above instead.
401401

402-
11. **RStudio images are not in the Red Hat catalog**: The `odh-workbench-rstudio-*-c9s` images use CentOS Stream 9 and are only published to `quay.io/opendatahub`. They must be handled separately from the catalog-based workflow.
402+
11. **RStudio is RHEL9-only in this repository**: CentOS Stream (`c9s`) RStudio workbenches were removed from `rhoai-3.4`; only `rstudio/rhel9-python-3.12` remains for the customer-shipped RHOAI images.
403403

404404
12. **Filtering by tag name is more reliable than sorting by date**: To find images for a specific RHOAI version, filter with `repositories.tags.name==v3.2` rather than sorting by `last_update_date[desc]` and hoping the first result is the right version. This avoids the multi-stream ordering issues described in gotcha #6.

docs/gateway-api-migration-guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,8 @@ See these files for complete examples:
350350
- **startup script**: `codeserver/ubi9-python-3.12/run-nginx.sh`
351351

352352
### RStudio
353-
- **nginx config**: `rstudio/c9s-python-3.11/nginx/serverconf/proxy.conf.template_nbprefix`
354-
- **startup script**: `rstudio/c9s-python-3.11/run-nginx.sh`
353+
- **nginx config**: `rstudio/rhel9-python-3.12/nginx/serverconf/proxy.conf.template_nbprefix`
354+
- **startup script**: `rstudio/rhel9-python-3.12/run-nginx.sh`
355355

356356
## Understanding nginx Location Matching
357357

0 commit comments

Comments
 (0)