Skip to content

feat: Enable skip GPU readiness - #166

Open
albertoperdomo2 wants to merge 8 commits into
openshift-psap:mainfrom
albertoperdomo2:feat/skip-gpu-readiness
Open

feat: Enable skip GPU readiness#166
albertoperdomo2 wants to merge 8 commits into
openshift-psap:mainfrom
albertoperdomo2:feat/skip-gpu-readiness

Conversation

@albertoperdomo2

@albertoperdomo2 albertoperdomo2 commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Added an option to skip GPU readiness checks during platform preparation.
    • GPU operator setup and GPU node verification are bypassed when enabled.
    • The option is disabled by default.
  • Bug Fixes

    • Updated readiness checks to correctly detect the serving control-plane deployment.

Signed-off-by: Alberto Perdomo <aperdomo@redhat.com>
@albertoperdomo2
albertoperdomo2 requested a review from kpouget August 6, 2026 13:17
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6d0b37cf-aea1-47e4-a94c-2b777e4a0703

📥 Commits

Reviewing files that changed from the base of the PR and between 0e5ef2a and 1b371c0.

📒 Files selected for processing (1)
  • projects/kserve/toolbox/wait_kserve_ready/main.py

📝 Walkthrough

Walkthrough

The platform configuration adds skip_gpu_readiness. The preparation sequence conditionally skips GPU setup and node verification. The KServe readiness workflow now waits for kserve-module-controller-manager.

Changes

GPU readiness control

Layer / File(s) Summary
Configure and apply GPU readiness control
projects/llm_d/orchestration/config.d/platform.yaml, projects/llm_d/orchestration/prepare_sequence.py
The platform configuration defaults skip_gpu_readiness to false. When enabled, the preparation sequence skips NFD, GPU operator preparation, and GPU node verification.

KServe readiness target

Layer / File(s) Summary
Update KServe deployment target
projects/kserve/toolbox/wait_kserve_ready/main.py
The readiness workflow waits for kserve-module-controller-manager instead of kserve-controller-manager.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PlatformConfig
  participant PrepareSequence
  participant NFDGPUPreparation
  participant GPUNodeVerification
  PlatformConfig->>PrepareSequence: provide skip_gpu_readiness
  alt skip_gpu_readiness is enabled
    PrepareSequence->>PrepareSequence: log skipped GPU readiness
  else skip_gpu_readiness is disabled
    PrepareSequence->>NFDGPUPreparation: prepare NFD and GPU operators
    PrepareSequence->>GPUNodeVerification: verify GPU nodes
  end
Loading

Suggested reviewers: kpouget

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: enabling the option to skip GPU readiness checks.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kpouget

kpouget commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

thanks,
/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 6, 2026
Signed-off-by: Alberto Perdomo <aperdomo@redhat.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Aug 6, 2026
@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from kpouget. For more information see the Code Review Process.

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

Details 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

@albertoperdomo2

Copy link
Copy Markdown
Collaborator Author

/test fournos llm_d llama-33-70b-rhoai-release
/cluster athena-fire
/pipeline forge-prepare-only
/var model_cache.pvc.access_mode: ReadWriteMany
/var model_cache.pvc.storage_class_name: nfs-rwx
/rhoai.rc-image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164 stable-3.5
/var platform.cluster.skip_gpu_readiness: true

@psap-forge-bot

psap-forge-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown
🔴 Submission of llm_d llama-33-70b-rhoai-release failed after 16 seconds 🔴

Error: FournosJobFailureError: FOURNOS Job 'forge-llm-d-20260806-140836' failed: Job failed in its early stages: Resolution failed: Job has reached the specified backoff limit

/test fournos llm_d llama-33-70b-rhoai-release
/var model_cache.pvc.access_mode: ReadWriteMany
/var model_cache.pvc.storage_class_name: nfs-rwx
/var platform.cluster.skip_gpu_readiness: true
/cluster athena-fire
/pipeline forge-prepare-only
/rhoai.rc-image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164 stable-3.5

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
projects/llm_d/orchestration/prepare_sequence.py (2)

18-18: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Make the skip log match all skipped operations.

The later condition also skips prepare_phase.verify_gpu_nodes(), but the current message names only NFD and GPU Operator. Include GPU node verification in the message.

Proposed log update
-        logger.info("Skipping GPU readiness (NFD + GPU operator): skip_gpu_readiness is enabled")
+        logger.info(
+            "Skipping GPU readiness (NFD + GPU operator + GPU node verification): "
+            "skip_gpu_readiness is enabled"
+        )
🤖 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 `@projects/llm_d/orchestration/prepare_sequence.py` at line 18, Update the
skip_gpu_readiness log message in the preparation flow to explicitly mention GPU
node verification alongside NFD and the GPU operator, so it accurately describes
every skipped operation.

17-22: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add regression coverage for both configuration values.

When platform.cluster.skip_gpu_readiness is true, assert that prepare_phase.prepare_nfd(), prepare_phase.prepare_gpu_operator(), and prepare_phase.verify_gpu_nodes() are not called. When it is false, assert that the first two calls run and GPU node verification remains enabled for each active run specification.

Run the requested acceptance case: fournos llm_d llama-33-70b-rhoai-release on athena-fire with forge-prepare-only, ReadWriteMany, nfs-rwx, RHOAI image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164, channel stable-3.5, and platform.cluster.skip_gpu_readiness: true.

Also applies to: 34-35

🤖 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 `@projects/llm_d/orchestration/prepare_sequence.py` around lines 17 - 22, The
prepare_sequence regression coverage should test both values of
platform.cluster.skip_gpu_readiness: when true, assert prepare_nfd,
prepare_gpu_operator, and verify_gpu_nodes are not called; when false, assert
the first two are called and GPU verification remains enabled for every active
run specification. Add the specified athena-fire acceptance case with the
provided fournos, image, channel, forge-prepare-only, ReadWriteMany, and nfs-rwx
settings.
🤖 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 `@projects/llm_d/orchestration/prepare_sequence.py`:
- Line 18: Update the skip_gpu_readiness log message in the preparation flow to
explicitly mention GPU node verification alongside NFD and the GPU operator, so
it accurately describes every skipped operation.
- Around line 17-22: The prepare_sequence regression coverage should test both
values of platform.cluster.skip_gpu_readiness: when true, assert prepare_nfd,
prepare_gpu_operator, and verify_gpu_nodes are not called; when false, assert
the first two are called and GPU verification remains enabled for every active
run specification. Add the specified athena-fire acceptance case with the
provided fournos, image, channel, forge-prepare-only, ReadWriteMany, and nfs-rwx
settings.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: bd4975a1-d1eb-4179-8cbc-e007acb4f34a

📥 Commits

Reviewing files that changed from the base of the PR and between 9bdfb87 and 0e5ef2a.

📒 Files selected for processing (2)
  • projects/llm_d/orchestration/config.d/platform.yaml
  • projects/llm_d/orchestration/prepare_sequence.py

@albertoperdomo2

Copy link
Copy Markdown
Collaborator Author

/test fournos llm_d llama-33-70b-rhoai-release
/cluster athena-fire
/pipeline forge-prepare-only
/var model_cache.pvc.access_mode: ReadWriteMany
/var model_cache.pvc.storage_class_name: nfs-rwx
/rhoai.rc-image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164 stable-3.5
/var platform.cluster.skip_gpu_readiness: true

@psap-forge-bot

psap-forge-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown
🔴 Submission of llm_d llama-33-70b-rhoai-release failed after 16 seconds 🔴

Error: FournosJobFailureError: FOURNOS Job 'forge-llm-d-20260806-175154' failed: Job failed in its early stages: Resolution failed: Job has reached the specified backoff limit

/test fournos llm_d llama-33-70b-rhoai-release
/var model_cache.pvc.access_mode: ReadWriteMany
/var model_cache.pvc.storage_class_name: nfs-rwx
/var platform.cluster.skip_gpu_readiness: true
/cluster athena-fire
/pipeline forge-prepare-only
/rhoai.rc-image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164 stable-3.5

@albertoperdomo2

Copy link
Copy Markdown
Collaborator Author

/test fournos llm_d cpt-release-testing-llama-33-70b
/cluster athena-fire
/pipeline forge-prepare-only
/var model_cache.pvc.access_mode: ReadWriteMany
/var model_cache.pvc.storage_class_name: nfs-rwx
/rhoai.rc-image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164 stable-3.5
/var platform.cluster.skip_gpu_readiness: true

@psap-forge-bot

psap-forge-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

🟢 Execution of llm_d cpt-release-testing-llama-33-70b 🟢

Execution Engine Configuration

forge:
  args:
  - cpt-release-testing-llama-33-70b
  configOverrides:
    model_cache.pvc.access_mode: ReadWriteMany
    model_cache.pvc.storage_class_name: nfs-rwx
    platform.cluster.skip_gpu_readiness: true
    platform.operators.rhods-operator.channel: stable-3.5
    platform.rhoai.custom_catalog.enabled: true
    platform.rhoai.custom_catalog.image: quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164
  project: llm_d

Artifact Links

Test Logs

00 Prepare 2 minutes, 31 seconds

01 Preflight 4 seconds

🔄 02 Export-Artifacts

@psap-forge-bot

psap-forge-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown
🟢 Submission of llm_d cpt-release-testing-llama-33-70b succeeded after 5 minutes, 10 seconds 🟢
/test fournos llm_d cpt-release-testing-llama-33-70b
/var model_cache.pvc.access_mode: ReadWriteMany
/var model_cache.pvc.storage_class_name: nfs-rwx
/var platform.cluster.skip_gpu_readiness: true
/cluster athena-fire
/pipeline forge-prepare-only
/rhoai.rc-image quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164 stable-3.5

@psap-forge-bot

psap-forge-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

🔴 Execution of llm_d cpt-release-testing-llama-33-70b 🔴

Execution Engine Configuration

forge:
  args:
  - cpt-release-testing-llama-33-70b
  configOverrides:
    model_cache.pvc.access_mode: ReadWriteMany
    model_cache.pvc.storage_class_name: nfs-rwx
    platform.cluster.skip_gpu_readiness: true
    platform.operators.rhods-operator.channel: stable-3.5
    platform.rhoai.custom_catalog.enabled: true
    platform.rhoai.custom_catalog.image: quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164
  project: llm_d

Artifact Links

Test Logs

00 Preflight 2 seconds

01 Test 1 minute, 10 seconds

Test Description

This FORGE test validates the RedHatAI/Llama-3.3-70B-Instruct-FP8-dynamic model in the llm_d project by running performance benchmarks across three deployment profiles (release-distributed-default, release-precise-prefix-cache, release-approximate-prefix-cache) using concurrent, heavy-heterogeneous, and multi-turn workloads as part of the RHOAI release testing suite.

🔄 02 Export-Artifacts

Post-processing Status

Signed-off-by: Alberto Perdomo <aperdomo@redhat.com>
@psap-forge-bot

psap-forge-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

🔴 Execution of llm_d cpt-release-testing-llama-33-70b 🔴

Execution Engine Configuration

forge:
  args:
  - cpt-release-testing-llama-33-70b
  configOverrides:
    model_cache.pvc.access_mode: ReadWriteMany
    model_cache.pvc.storage_class_name: nfs-rwx
    platform.cluster.skip_gpu_readiness: true
    platform.operators.rhods-operator.channel: stable-3.5
    platform.rhoai.custom_catalog.enabled: true
    platform.rhoai.custom_catalog.image: quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164
  project: llm_d

Artifact Links

Test Logs

00 Preflight 2 seconds

01 Test 1 minute, 14 seconds

Test Description

This test validates the RedHatAI/Llama-3.3-70B-Instruct-FP8-dynamic model in the llm_d project for RHOAI release certification by executing concurrent-1k-1k, heavy-heterogeneous, and multi-turn benchmarks across release-distributed-default, release-precise-prefix-cache, and release-approximate-prefix-cache deployment profiles.

🔄 02 Export-Artifacts

Post-processing Status

@psap-forge-bot

psap-forge-bot Bot commented Aug 7, 2026

Copy link
Copy Markdown

🔴 Execution of llm_d cpt-release-testing-llama-33-70b 🔴

Execution Engine Configuration

forge:
  args:
  - cpt-release-testing-llama-33-70b
  configOverrides:
    model_cache.pvc.access_mode: ReadWriteMany
    model_cache.pvc.storage_class_name: nfs-rwx
    platform.cluster.skip_gpu_readiness: true
    platform.operators.rhods-operator.channel: stable-3.5
    platform.rhoai.custom_catalog.enabled: true
    platform.rhoai.custom_catalog.image: quay.io/rhoai/rhoai-fbc-fragment@sha256:29c909eb7d499b4d1dfb11086c5cd554a257c0477d013f4837f08aa9e4385164
  project: llm_d

Artifact Links

Test Logs

00 Preflight 2 seconds

01 Test 6 hours, 29 minutes, 56 seconds

Test Description

This test conducts release benchmarking for the llm_d project using the RedHatAI/Llama-3.3-70B-Instruct-FP8-dynamic model, evaluating performance across three deployment profiles: release-distributed-default, release-precise-prefix-cache, and release-approximate-prefix-cache. It applies heavy load workloads including concurrent 1k-1k requests, heterogeneous traffic patterns, and multi-turn conversations to validate RHOAI release stability.

🔄 02 Export-Artifacts

Post-processing Status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants