Skip to content

feat(upgrade): bi-annual RStudio package update #965

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

andyatmiami
Copy link
Contributor

Description

This commit is related to the ongoing work to release the 2025a software upgrade.

Upgrades:

  • R
    • 4.4.1 -> 4.4.3
  • RStudio
    • rstudio-server-rhel-2024.04.2-764-x86_64.rpm -> rstudio-server-rhel-2024.12.1-563-x86_64.rpm
  • tidymodels
    • 1.2.0 -> 1.3.0
  • plumber
    • 1.2.2 -> 1.3.0

A couple other "quality of life" improvements were included:

  • Refactored Dockerfile to combine RUN statements where obvious/low-risk
  • Better use of ARG references to reduce copy-pasta in Dockerfile instructions
  • install_packages.R script externalizes the userland software installs in an external script to better "share" across cpu + cuda Dockerfile variants
  • Fixed issue(s) with kustomize cuda overlay so now kubectl apply -k overlays/accelerator/cuda works

Related-to: https://issues.redhat.com/browse/RHOAIENG-19484

How Has This Been Tested?

Verification was performed in the following manner:

  1. [CUDA only] Acquire a CUDA-enabled ROSA cluster
  2. All relevant RStudio images built locally
  3. [CUDA only] Kustomize manifests used in testing updated
    • nodeSelector added to ensure workload deployed on worker node with GPU
    • resources adjusted to provide more memory and also to request GPU
    • emptyDir volume added to mimic production usage
      • was getting Permission Denied errors related to /opt/app-root/src/.cache
  4. deploy% target of Makefile used to deploy image
  5. ``validate%` target used to run tests and confirmed all tests succeeded
  6. undeploy% target of Makefile used to undeploy image / prepare environment for next image

Simply to better equate myself with R - I also ran this simple script within the pod to confirm versions of dependencies installed:

(app-root) bash-5.1$ cat test_versions.R

# test_versions.R

# List of packages to check
packages <- c("Rcpp", "tidyverse", "tidymodels", "plumber", "vetiver", "devtools")

# Loop through each package in the list
for (package_name in packages) {
  # Check if the package is installed
  if (requireNamespace(package_name, quietly = TRUE)) {
    # Retrieve and print the version of the installed package
    package_version <- packageVersion(package_name)
    cat(sprintf("The installed version of '%s' is: %s\n", package_name, package_version))
  } else {
    cat(sprintf("The package '%s' is not installed.\n", package_name))
  }
}

(app-root) bash-5.1$ Rscript test_versions.R

The installed version of 'Rcpp' is: 1.0.14
The installed version of 'tidyverse' is: 2.0.0
The installed version of 'tidymodels' is: 1.3.0
The installed version of 'plumber' is: 1.3.0
The installed version of 'vetiver' is: 0.2.5
The installed version of 'devtools' is: 2.4.5

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

Copy link
Contributor

openshift-ci bot commented Mar 18, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@andyatmiami andyatmiami force-pushed the feat/rstudio-2025a-upgrade branch from 4793443 to bc46386 Compare March 19, 2025 04:00
@openshift-ci openshift-ci bot added size/xxl and removed size/xxl labels Mar 19, 2025
Copy link
Member

@atheo89 atheo89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Andy, added only a question, apart of this /lgtm

@andyatmiami andyatmiami force-pushed the feat/rstudio-2025a-upgrade branch from bc46386 to 8b811e5 Compare March 19, 2025 23:30
@openshift-ci openshift-ci bot added size/l and removed size/xxl labels Mar 19, 2025
This commit is related to the ongoing work to release the `2025a` software upgrade.

Upgrades:
- `R`
    - `4.4.1` -> `4.4.3`
- `RStudio`
    - rstudio-server-rhel-2024.04.2-764-x86_64.rpm -> rstudio-server-rhel-2024.12.1-563-x86_64.rpm
- `tidymodels`
    - `1.2.0` -> `1.3.0`
- `plumber`
    - `1.2.2` -> `1.3.0`

A couple other "quality of life" improvements were included:
- Refactored `Dockerfile` to combine `RUN` statements where obvious/low-risk
- Better use of `ARG` references to reduce copy-pasta in `Dockerfile` instructions
- `install_packages.R` script externalizes the userland software installs in an external script to better "share" across `cpu` + `cuda` `Dockerfile` variants
- Fixed issue(s) with `kustomize` `cuda` `overlay` so now `kubectl apply -k overlays/accelerator/cuda` works

Related-to: https://issues.redhat.com/browse/RHOAIENG-19484
@andyatmiami andyatmiami force-pushed the feat/rstudio-2025a-upgrade branch from 8b811e5 to 253e0d9 Compare March 19, 2025 23:34
@openshift-ci openshift-ci bot added size/l and removed size/l labels Mar 19, 2025
@andyatmiami andyatmiami marked this pull request as ready for review March 19, 2025 23:35
@openshift-ci openshift-ci bot requested review from daniellutz and jiridanek March 19, 2025 23:35
@andyatmiami
Copy link
Contributor Author

/override "ci/prow/images" "ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror"

more examples of https://issues.redhat.com/browse/OCPBUGS-50507 that continues to plague us 😢

Copy link
Contributor

openshift-ci bot commented Mar 20, 2025

@andyatmiami: Overrode contexts on behalf of andyatmiami: ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror, ci/prow/images

In response to this:

/override "ci/prow/images" "ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror"

more examples of https://issues.redhat.com/browse/OCPBUGS-50507 that continues to plague us 😢

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Copy link
Member

@harshad16 harshad16 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

imported in cluster: ✔️

Screenshot from 2025-03-20 00-40-22

@jiridanek
Copy link
Member

/lgtm
/approve

Copy link
Contributor

openshift-ci bot commented Mar 20, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jiridanek

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@atheo89
Copy link
Member

atheo89 commented Mar 20, 2025

/override ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror

Copy link
Contributor

openshift-ci bot commented Mar 20, 2025

@atheo89: Overrode contexts on behalf of atheo89: ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror

In response to this:

/override ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@atheo89
Copy link
Member

atheo89 commented Mar 20, 2025

/override "ci/prow/images" "ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror" "ci/prow/rstudio-notebook-e2e-tests"

Copy link
Contributor

openshift-ci bot commented Mar 20, 2025

@atheo89: Overrode contexts on behalf of atheo89: ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror, ci/prow/images, ci/prow/rstudio-notebook-e2e-tests

In response to this:

/override "ci/prow/images" "ci/prow/cuda-rstudio-c9s-python-3-11-pr-image-mirror" "ci/prow/rstudio-notebook-e2e-tests"

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@atheo89
Copy link
Member

atheo89 commented Mar 20, 2025

/override "ci/prow/rstudio-c9s-python-3-11-pr-image-mirror"

Copy link
Contributor

openshift-ci bot commented Mar 20, 2025

@atheo89: Overrode contexts on behalf of atheo89: ci/prow/rstudio-c9s-python-3-11-pr-image-mirror

In response to this:

/override "ci/prow/rstudio-c9s-python-3-11-pr-image-mirror"

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-merge-bot openshift-merge-bot bot merged commit 5bb0809 into opendatahub-io:main Mar 20, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants