[rhoai-2.25] RHAIENG-6036: fix trustyai k8s papermill probe timing#2487
[rhoai-2.25] RHAIENG-6036: fix trustyai k8s papermill probe timing#2487jiridanek wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe StatefulSet liveness and readiness probes now wait longer before starting and run at longer intervals. Their endpoints, ports, schemes, and success/failure thresholds remain unchanged. ChangesStatefulSet probe timing
Estimated code review effort: 1 (Trivial) | ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
tests/containers/workbenches/jupyterlab/jupyterlab_datascience_test.py (1)
88-93: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueSkip guard for code-server images looks correct.
The dual-variant label check (
-code-server-for ODH,-codeserver-for RHOAI/RHDS Konflux) is well-documented and consistent with the pattern inconftest.py. The removal of the conditionalmysql-connector-pythoninstallation block is safe since code-server images now never reach that code path.As per coding guidelines, consider adding
@allure.issue("RHOAIENG-140")to link this test to the Jira issue referenced in the skip message.♻️ Optional: add allure issue decorator
+ `@allure.issue`("RHOAIENG-140") `@allure.description`("Check that mysql client functionality is working with SASL plain auth.") def test_mysql_connection(self, tf: TestFrame, datascience_image: Image, subtests):🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/containers/workbenches/jupyterlab/jupyterlab_datascience_test.py` around lines 88 - 93, Add the `@allure.issue`("RHOAIENG-140") decorator to the affected JupyterLab datasource test function, alongside its existing test decorators, so the test is linked to the Jira issue referenced by the code-server skip guard.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@tests/containers/workbenches/jupyterlab/jupyterlab_datascience_test.py`:
- Around line 88-93: Add the `@allure.issue`("RHOAIENG-140") decorator to the
affected JupyterLab datasource test function, alongside its existing test
decorators, so the test is linked to the Jira issue referenced by the
code-server skip guard.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: a3c9f052-48ee-4f80-9bb9-264502e392f2
📒 Files selected for processing (5)
jupyter/trustyai/ubi9-python-3.12/Dockerfile.cpujupyter/trustyai/ubi9-python-3.12/Dockerfile.konflux.cpujupyter/trustyai/ubi9-python-3.12/kustomize/base/statefulset.yamlscripts/check-payload/config.tomltests/containers/workbenches/jupyterlab/jupyterlab_datascience_test.py
d8115e6 to
06380e8
Compare
…torch Elyra/TrustyAI startup needs ~12s+ before Jupyter listens on 8888. Default liveness initialDelaySeconds: 5 causes CrashLoopBackOff in k8s papermill CI (make_test.py); pod never becomes Ready for kubectl exec. Set liveness/readiness to initialDelaySeconds: 15 and periodSeconds: 10 (matching jupyter/pytorch/ubi9-python-3.12/kustomize/base/statefulset.yaml on main). Not a trustyai main cherry-pick — trustyai statefulset on main still uses 5/10. Related: #2499 CI analysis, RHAIENG-6041 closed via #2451 (testcontainers). Co-authored-by: Cursor <cursoragent@cursor.com>
06380e8 to
293a861
Compare
|
this may not be actually necessary, maybe the timeouts were a rare flake? |
Summary
Align TrustyAI StatefulSet health probes with pytorch (
15/10) so Elyra/Jupyter can finish starting before liveness kills the pod.Problem: On Build Notebooks k8s papermill (
make_test.py), the trustyai pod CrashLoopBackOffs: livenessinitialDelaySeconds: 5probes port 8888 before Jupyter listens (~12s+ with Elyra). Papermill then fails withcontainer not found ("notebook").Evidence: #2499 CI run 29087867712 — testcontainers 16 passed; k8s phase failed on probe kills (events captured in
make_test.pyfinally dumps).Fix:
jupyter/trustyai/ubi9-python-3.12/kustomize/base/statefulset.yamlonly:initialDelaySeconds5→15,periodSeconds5→10initialDelaySeconds10→15,periodSeconds5→10Matches
jupyter/pytorch/ubi9-python-3.12/kustomize/base/statefulset.yamlonmain. Not acherry-pick -xfrom main trustyai (trustyai statefulset on main still has 5/10).Out of scope (already fixed elsewhere)
/opt/app-root/share755:0 + spinnerTest plan
jupyter-trustyai-ubi9-python-3.12amd64 Build Notebooks: k8s papermill (make_test.py) passesLocal repro
k3s on
100.105.65.25: Quay trustyai image + #2499 branch — papermill passes with probe 15s patch (/tmp/test-trustyai-quay-k8s.log).Summary by CodeRabbit