Skip to content

[rhaiis] Rename engine_args to vllm_args and add explicit TP to all models - #167

Merged
openshift-merge-bot[bot] merged 10 commits into
openshift-psap:mainfrom
Harshith-umesh:presets-2
Aug 12, 2026
Merged

[rhaiis] Rename engine_args to vllm_args and add explicit TP to all models#167
openshift-merge-bot[bot] merged 10 commits into
openshift-psap:mainfrom
Harshith-umesh:presets-2

Conversation

@Harshith-umesh

@Harshith-umesh Harshith-umesh commented Aug 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Rename engine_args to vllm_args in model definitions to clarify that these
    are vLLM-specific flags, not engine-agnostic configuration.
  • Add explicit tensor-parallel-size to every model entry (placeholder 0 where
    the correct value needs to be filled in).
  • Update all Python references (runtime_config.py, ci.py, analysis.py) and
    README documentation to use the new field name.

Motivation

The engine_args name was misleading — these are vLLM CLI flags that get
auto-translated for other engines (SGLang, TRT-LLM) via _translate_args.
Renaming makes the engine-specificity explicit and reduces confusion when
adding support for engine-native arguments.

Testing

  • CI quick test pass with the renamed field.
  • No behavioral change — merge_engine_args reads from vllm_args with the
    same fallback/merge semantics as before.

Summary by CodeRabbit

  • Configuration
    • Updated model and workload settings to use vllm_args for runtime overrides.
    • Added and refined tensor-parallel settings across supported models for improved hardware configuration.
  • Bug Fixes
    • Ensured analysis, hardware resolution, and runtime configuration consistently apply overrides.
    • Preserved automatic handling of non-vLLM configuration arguments.
  • Workflow Improvements
    • MLflow runs are now created earlier, with initial test labels recorded before deployment and benchmarking.
  • Presets
    • Renamed the existing ci-quick preset to ci-test.
    • Added a streamlined ci-quick preset for quick validation runs.
  • Documentation
    • Updated configuration guidance to describe vllm_args and its precedence.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

RHAIIS replaces model-level engine_args with vllm_args across configuration, runtime merging, orchestration lookups, and documentation. MLflow run creation now occurs before deployment. Presets are updated, and Caliper KPI tests unpack the two-value analysis result.

Changes

RHAIIS configuration and orchestration

Layer / File(s) Summary
Model argument configuration
projects/rhaiis/orchestration/config.d/models.yaml, projects/rhaiis/README.md
Model entries and documentation now use vllm_args. Additional models receive tensor-parallel settings. Selected Nemotron and Ministral values change as specified.
Runtime argument resolution
projects/rhaiis/orchestration/runtime_config.py
Argument merging falls back to model or workload vllm_args. Non-vLLM translation and override precedence remain unchanged.
Orchestration execution updates
projects/rhaiis/orchestration/analysis.py, projects/rhaiis/orchestration/ci.py, projects/rhaiis/orchestration/test_phase.py, projects/rhaiis/orchestration/presets.d/presets.yaml
Agent analysis accepts explicit engine arguments. Hardware sizing merges configured engine defaults. MLflow runs are created before deployment. The ci-test and ci-quick presets are updated.

Caliper result handling

Layer / File(s) Summary
KPI analysis test updates
projects/caliper/tests/test_kpi_analyze.py
KPI tests now unpack the status and secondary return value from run_kpi_analysis while retaining existing assertions.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested reviewers: mml-coder

🚥 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 two main changes: renaming engine_args to vllm_args and adding explicit tensor-parallel settings to all models.
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.

@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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
projects/rhaiis/orchestration/runtime_config.py (1)

127-146: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add regression tests for the renamed fallback path.

Test merge_engine_args for model and workload vllm_args, non-vLLM translation, engine-specific blocks, and final override precedence. These cases protect the cross-engine configuration contract.

🤖 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/rhaiis/orchestration/runtime_config.py` around lines 127 - 146,
Extend the test coverage for merge_engine_args to verify model and workload
vllm_args fallback, _translate_args usage for non-vLLM engines, engine-specific
argument blocks, and precedence of overrides over workload and model values. Add
regression cases covering both vLLM and non-vLLM paths while preserving the
expected merged configuration.
🤖 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.

Inline comments:
In `@projects/rhaiis/orchestration/ci.py`:
- Around line 100-101: Update projects/rhaiis/orchestration/ci.py lines 100-101
and projects/rhaiis/orchestration/analysis.py lines 243-244 to derive
tensor-parallel size from the effective arguments returned by merge_engine_args,
rather than directly from model["vllm_args"]. Ensure launch, notification,
regression-check, and agent-analysis paths all use the merged tensor-parallel
configuration, including Fournos overrides.

---

Nitpick comments:
In `@projects/rhaiis/orchestration/runtime_config.py`:
- Around line 127-146: Extend the test coverage for merge_engine_args to verify
model and workload vllm_args fallback, _translate_args usage for non-vLLM
engines, engine-specific argument blocks, and precedence of overrides over
workload and model values. Add regression cases covering both vLLM and non-vLLM
paths while preserving the expected merged configuration.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8af293be-8328-4124-b923-fac0fe13f85f

📥 Commits

Reviewing files that changed from the base of the PR and between 4adbdd4 and df2c3d0.

📒 Files selected for processing (5)
  • projects/rhaiis/README.md
  • projects/rhaiis/orchestration/analysis.py
  • projects/rhaiis/orchestration/ci.py
  • projects/rhaiis/orchestration/config.d/models.yaml
  • projects/rhaiis/orchestration/runtime_config.py

Comment thread projects/rhaiis/orchestration/ci.py Outdated
The engine_args field was vLLM-specific but named generically. Rename
to vllm_args for clarity and add explicit tensor-parallel-size to every
model entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Harshith-umesh and others added 2 commits August 10, 2026 13:08
…alysis

PR openshift-psap#163 changed run_kpi_analysis to return (status_dict, report) but
the tests were not updated, causing TypeError on dict key access.

Co-authored-by: Cursor <cursoragent@cursor.com>
…gent analysis

resolve_hardware_request and run_agent_analysis were reading
tensor-parallel-size directly from model vllm_args, missing
Fournos configOverrides. Now both use merge_engine_args output.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Harshith-umesh

Copy link
Copy Markdown
Member Author

/test fournos rhaiis nvidia benchmark hera ci-quick
/pipeline forge-full
/exclusive false
/cluster hera

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of rhaiis nvidia benchmark hera ci-quick 🟢

Execution Engine Configuration

forge:
  args:
  - nvidia
  - benchmark
  - hera
  - ci-quick
  configOverrides: {}
  project: rhaiis

Artifact Links

Test Logs

00 Pre-Cleanup 1 second

01 Prepare 2 seconds

02 Preflight 1 second

03 Test 5 minutes, 17 seconds

04 Post-Cleanup 4 seconds

🔄 05 Export-Artifacts

Post-processing Status

  • parse: success
  • artifacts_to_kpis: success
  • kpis_to_mlflow: success
  • kpis_to_csv: success
  • ⏭️ artifacts_to_ai_data: disabled

    kpi.artifacts_to_ai_data disabled

  • ⏭️ s3_import: disabled

    s3_import disabled

  • ⏭️ analyse_kpis: disabled

    analyze disabled

  • ⏭️ s3_export: disabled

    s3_export disabled

@psap-forge-bot

Copy link
Copy Markdown

…ions include the link

Moved precreate_mlflow_run_if_configured() to before wait_isvc_ready
and write early test labels with mlflow_destination. This ensures the
MLflow URL is available in Slack failure notifications even when the
InferenceService never becomes ready.

Co-authored-by: Cursor <cursoragent@cursor.com>

@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.

Actionable comments posted: 1

🤖 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.

Inline comments:
In `@projects/rhaiis/orchestration/analysis.py`:
- Line 232: Make engine_args a required parameter in run_agent_analysis and
remove the optional fallback before extracting tp. Preserve the configured tp
value supplied by current callers instead of defaulting to 1 when arguments are
absent.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 07284010-c02e-442f-9735-ee49b692b226

📥 Commits

Reviewing files that changed from the base of the PR and between 0951a78 and 6ab8062.

📒 Files selected for processing (3)
  • projects/rhaiis/orchestration/analysis.py
  • projects/rhaiis/orchestration/ci.py
  • projects/rhaiis/orchestration/test_phase.py

Comment thread projects/rhaiis/orchestration/analysis.py
…k preset

- Added sglang_args block to nemotron3super-120b-fp8 model definition
- Split ci-quick into ci-test (full CI config) and ci-quick (workload only)

Co-authored-by: Cursor <cursoragent@cursor.com>
@Harshith-umesh

Copy link
Copy Markdown
Member Author

/test fournos rhaiis nvidia sglang nemotron3super-120b ci-quick hera
/pipeline forge-full
/exclusive false
/cluster hera

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of rhaiis nvidia sglang nemotron3super-120b ci-quick hera 🟢

Execution Engine Configuration

forge:
  args:
  - nvidia
  - sglang
  - nemotron3super-120b
  - ci-quick
  - hera
  configOverrides: {}
  project: rhaiis

Artifact Links

Test Logs

00 Pre-Cleanup 1 second

01 Prepare 2 seconds

02 Preflight 1 second

03 Test 22 minutes, 10 seconds

04 Post-Cleanup 4 seconds

🔄 05 Export-Artifacts

Post-processing Status

  • parse: success
  • artifacts_to_kpis: success
  • kpis_to_mlflow: success
  • kpis_to_csv: success
  • ⏭️ artifacts_to_ai_data: disabled

    kpi.artifacts_to_ai_data disabled

  • ⏭️ s3_import: disabled

    s3_import disabled

  • ⏭️ analyse_kpis: disabled

    analyze disabled

  • ⏭️ s3_export: disabled

    s3_export disabled

Added warmup, version, slack_notify_always, and other defaults
to ci-quick preset so it works standalone without ci-test.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Harshith-umesh

Copy link
Copy Markdown
Member Author

/test fournos rhaiis nvidia benchmark hera ci-quick
/pipeline forge-full
/exclusive false
/cluster hera

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of rhaiis nvidia benchmark hera ci-quick 🟢

Execution Engine Configuration

forge:
  args:
  - nvidia
  - benchmark
  - hera
  - ci-quick
  configOverrides: {}
  project: rhaiis

Artifact Links

Test Logs

00 Pre-Cleanup 1 second

01 Prepare 2 seconds

02 Preflight 2 seconds

03 Test 5 minutes, 28 seconds

04 Post-Cleanup 5 seconds

🔄 05 Export-Artifacts

Post-processing Status

  • parse: success
  • artifacts_to_kpis: success
  • kpis_to_mlflow: success
  • kpis_to_csv: success
  • ⏭️ artifacts_to_ai_data: disabled

    kpi.artifacts_to_ai_data disabled

  • ⏭️ s3_import: disabled

    s3_import disabled

  • ⏭️ analyse_kpis: disabled

    analyze disabled

  • ⏭️ s3_export: disabled

    s3_export disabled

@psap-forge-bot

Copy link
Copy Markdown

Harshith-umesh and others added 2 commits August 11, 2026 11:32
Write mlflow_destination to a separate _mlflow_destination.yaml marker
instead of an empty __test_labels__.yaml that the post-processor picks
up as a test base. Add fallback in _build_mlflow_run_url to read the
marker file for failure notifications.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@Harshith-umesh

Copy link
Copy Markdown
Member Author

/test fournos rhaiis nvidia sglang nemotron3super-120b ci-quick hera
/pipeline forge-full
/exclusive false
/cluster hera

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of rhaiis nvidia sglang nemotron3super-120b ci-quick hera 🟢

Execution Engine Configuration

forge:
  args:
  - nvidia
  - sglang
  - nemotron3super-120b
  - ci-quick
  - hera
  configOverrides: {}
  project: rhaiis

Artifact Links

Test Logs

00 Pre-Cleanup 1 second

01 Prepare 2 seconds

02 Preflight 1 second

03 Test 7 minutes, 48 seconds

04 Post-Cleanup 4 seconds

🔄 05 Export-Artifacts

Post-processing Status

  • parse: success
  • artifacts_to_kpis: success
  • kpis_to_mlflow: success
  • kpis_to_csv: success
  • ⏭️ artifacts_to_ai_data: disabled

    kpi.artifacts_to_ai_data disabled

  • ⏭️ s3_import: disabled

    s3_import disabled

  • ⏭️ analyse_kpis: disabled

    analyze disabled

  • ⏭️ s3_export: disabled

    s3_export disabled

@psap-forge-bot

Copy link
Copy Markdown
🟢 Submission of rhaiis nvidia sglang nemotron3super-120b ci-quick hera succeeded after 10 minutes, 46 seconds 🟢
/test fournos rhaiis nvidia sglang nemotron3super-120b ci-quick hera
/pipeline forge-full
/exclusive false
/cluster hera

Co-authored-by: Cursor <cursoragent@cursor.com>
@Harshith-umesh

Copy link
Copy Markdown
Member Author

/test fournos rhaiis nvidia sglang nemotron3super-120b ci-quick hera
/pipeline forge-full
/exclusive false
/cluster hera
/var tests.rhaiis.version: "SGLang-0.5.11-delete"

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of rhaiis nvidia sglang nemotron3super-120b ci-quick hera 🟢

Execution Engine Configuration

forge:
  args:
  - nvidia
  - sglang
  - nemotron3super-120b
  - ci-quick
  - hera
  configOverrides:
    tests.rhaiis.version: SGLang-0.5.11-delete
  project: rhaiis

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 3 seconds

02 Preflight 1 second

03 Test 7 minutes, 35 seconds

04 Post-Cleanup 4 seconds

🔄 05 Export-Artifacts

Post-processing Status

  • parse: success
  • artifacts_to_kpis: success
  • kpis_to_mlflow: success
  • kpis_to_csv: success
  • ⏭️ artifacts_to_ai_data: disabled

    kpi.artifacts_to_ai_data disabled

  • ⏭️ s3_import: disabled

    s3_import disabled

  • ⏭️ analyse_kpis: disabled

    analyze disabled

  • ⏭️ s3_export: disabled

    s3_export disabled

@psap-forge-bot

Copy link
Copy Markdown
🟢 Submission of rhaiis nvidia sglang nemotron3super-120b ci-quick hera succeeded after 10 minutes, 23 seconds 🟢
/test fournos rhaiis nvidia sglang nemotron3super-120b ci-quick hera
/var tests.rhaiis.version: "SGLang-0.5.11-delete"
/pipeline forge-full
/exclusive false
/cluster hera

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of rhaiis nvidia sglang nemotron3super-120b ci-quick hera 🟢

Execution Engine Configuration

forge:
  args:
  - nvidia
  - sglang
  - nemotron3super-120b
  - ci-quick
  - hera
  configOverrides:
    tests.rhaiis.version: SGLang-0.5.11-delete
  project: rhaiis

Artifact Links

Test Logs

00 Pre-Cleanup 1 second

01 Prepare 3 seconds

02 Preflight 1 second

03 Test 7 minutes, 29 seconds

04 Post-Cleanup 4 seconds

🔄 05 Export-Artifacts

Post-processing Status

  • parse: success
  • artifacts_to_kpis: success
  • kpis_to_mlflow: success
  • kpis_to_csv: success
  • ⏭️ artifacts_to_ai_data: disabled

    kpi.artifacts_to_ai_data disabled

  • ⏭️ s3_import: disabled

    s3_import disabled

  • ⏭️ analyse_kpis: disabled

    analyze disabled

  • ⏭️ s3_export: disabled

    s3_export disabled

@albertoperdomo2

Copy link
Copy Markdown
Collaborator

/lgtm
/approve

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 12, 2026
@openshift-ci

openshift-ci Bot commented Aug 12, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: albertoperdomo2

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

The pull request process is described 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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 12, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit d3332ea into openshift-psap:main Aug 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants