Skip to content

[caliper] orchestration: export: make the workspace config mandatory#107

Merged
kpouget merged 3 commits into
openshift-psap:mainfrom
kpouget:rhaiis
Jul 2, 2026
Merged

[caliper] orchestration: export: make the workspace config mandatory#107
kpouget merged 3 commits into
openshift-psap:mainfrom
kpouget:rhaiis

Conversation

@kpouget

@kpouget kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes
    • Export runs now require a workspace to be explicitly set, preventing unexpected use of a default.
    • The verbose export output now shows the actual workspace value instead of a generic fallback.
  • Configuration
    • Added a workspace setting for the export backend so exports use the intended destination by default.

@openshift-ci

openshift-ci Bot commented Jul 2, 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 assign sjmonson for approval. 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

@kpouget kpouget requested review from MML-coder and ashtarkb and removed request for MML-coder July 2, 2026 10:34
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kpouget, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 3 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9928a21f-53be-4fa0-b121-77ae0dda95cc

📥 Commits

Reviewing files that changed from the base of the PR and between a73ecb1 and a79e2b7.

📒 Files selected for processing (3)
  • projects/caliper/orchestration/export.py
  • projects/fournos_launcher/orchestration/submit.py
  • projects/rhaiis/orchestration/config.yaml
📝 Walkthrough

Walkthrough

The multi-run export path in export.py now requires a non-empty workspace value from the merged MLflow config, raising a ValueError if absent, and prints the raw workspace value in verbose output. The rhaiis config.yaml adds a workspace value for the MLflow export backend.

Changes

Mandatory MLflow Workspace

Layer / File(s) Summary
Enforce and configure required workspace
projects/caliper/orchestration/export.py, projects/rhaiis/orchestration/config.yaml
Adds a ValueError when workspace is missing in multi-run export, removes the '(default)' fallback in verbose output, and sets workspace: forge-rhaiis in the rhaiis MLflow export config.

Estimated code review effort: 1 (Trivial) | ~3 minutes

🚥 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 accurately summarizes the main change: making the export workspace configuration mandatory.
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

🤖 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/caliper/orchestration/export.py`:
- Around line 338-340: The workspace validation in _run_multi_run_export raises
a bare ValueError before the existing CLI error handling kicks in, so replace it
with the same user-facing pattern used elsewhere in the export flow (for example
in artifacts_export_run.py): emit the message with click.echo(..., err=True) and
return a non-zero status instead of letting the exception escape. Use
_run_multi_run_export and the workspace check to locate the change.
🪄 Autofix (Beta)

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

Run ID: 21f0f4a6-0874-4001-8af8-077f11d397cd

📥 Commits

Reviewing files that changed from the base of the PR and between 48ac14c and a73ecb1.

📒 Files selected for processing (2)
  • projects/caliper/orchestration/export.py
  • projects/rhaiis/orchestration/config.yaml

Comment thread projects/caliper/orchestration/export.py
@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info
/cluster psap-mgmt
/var caliper.export.backend.mlflow.config.workspace: null

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Execution of skeleton collect_cluster_info 🟢

Execution Engine Configuration

forge:
  args:
  - collect_cluster_info
  configOverrides: {}
  project: skeleton

Artifact Links

Test Logs

00 Preflight 2 seconds

01 Test 12 seconds

Test Description

This test executes the skeleton project with the collect_cluster_info flag enabled to gather cluster metadata and infrastructure details.

🔄 02 Export-Artifacts

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🟢 Submission of skeleton collect_cluster_info succeeded after 1 minute, 47 seconds 🟢
/test fournos skeleton collect_cluster_info
/var caliper.export.backend.mlflow.config.workspace: null
/cluster psap-mgmt

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Execution of skeleton collect_cluster_info 🟢

Execution Engine Configuration

forge:
  args:
  - collect_cluster_info
  configOverrides: {}
  project: skeleton

Artifact Links

Test Logs

00 Preflight 0 seconds

01 Test 12 seconds

Test Description

This test executes the skeleton project with the collect_cluster_info preset enabled to validate cluster information collection functionality. It configures the run with 30 max requests, a rate of 1, and 128 prompt tokens, while setting the test duration to 0 seconds to focus on metadata gathering rather than performance load testing.

🔄 02 Export-Artifacts

@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info
/cluster psap-mgmt
/var caliper.export.backend.mlflow.config.workspace: null

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Execution of skeleton collect_cluster_info 🟢

Execution Engine Configuration

forge:
  args:
  - collect_cluster_info
  configOverrides: {}
  project: skeleton

Artifact Links

Test Logs

00 Preflight 0 seconds

01 Test 13 seconds

Test Description

This test executes the skeleton project with the collect_cluster_info preset enabled to verify the system's ability to gather cluster metadata and status information. It isolates this collection functionality by setting skeleton.collect_cluster_info: true without applying load testing variations.

🔄 02 Export-Artifacts

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🟢 Submission of skeleton collect_cluster_info succeeded after 1 minute, 36 seconds 🟢
/test fournos skeleton collect_cluster_info
/var caliper.export.backend.mlflow.config.workspace: null
/cluster psap-mgmt

@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info
/var caliper.export.backend.mlflow.config.workspace: null
/cluster psap-mgmt

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Execution of skeleton collect_cluster_info 🟢

Execution Engine Configuration

forge:
  args:
  - collect_cluster_info
  configOverrides: {}
  project: skeleton

Artifact Links

Test Logs

00 Preflight 0 seconds

01 Test 13 seconds

Test Description

This test executes the skeleton project with the collect_cluster_info preset enabled to gather cluster metrics and configuration details. It applies a low request rate and minimal load parameters to focus specifically on data collection rather than performance benchmarking.

🔄 02 Export-Artifacts

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🟢 Submission of skeleton collect_cluster_info succeeded after 1 minute, 26 seconds 🟢
/test fournos skeleton collect_cluster_info
/var caliper.export.backend.mlflow.config.workspace: null
/cluster psap-mgmt

@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info
/var caliper.export.backend.mlflow.config.workspace: null
/cluster psap-mgmt

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Execution of skeleton collect_cluster_info 🟢

Execution Engine Configuration

forge:
  args:
  - collect_cluster_info
  configOverrides:
    caliper.export.backend.mlflow.config.workspace: {}
  project: skeleton

Artifact Links: No direct links available

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🔴 Submission of skeleton collect_cluster_info failed after 1 minute, 16 seconds 🔴
/test fournos skeleton collect_cluster_info
/var caliper.export.backend.mlflow.config.workspace: null
/cluster psap-mgmt

@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🔴 Submission of skeleton collect_cluster_info failed after 0 seconds 🔴

Error: ValueError: cluster.name must be configured in config.yaml - cannot submit job without target cluster

/test fournos skeleton collect_cluster_info

@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🔴 Submission of skeleton collect_cluster_info failed after 0 seconds 🔴

Error: ValueError: /cluster (cluster.name) must be set - cannot submit job without target cluster

/test fournos skeleton collect_cluster_info

@kpouget

kpouget commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/test fournos skeleton collect_cluster_info
/cluster psap-mgmt

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

🟢 Execution of skeleton collect_cluster_info 🟢

Execution Engine Configuration

forge:
  args:
  - collect_cluster_info
  configOverrides: {}
  project: skeleton

Artifact Links

Test Logs

00 Preflight 0 seconds

01 Test 20 seconds

Test Description

This test validates the skeleton project's cluster information collection capability by enabling the collect_cluster_info preset. It executes the collection task with a limit of 30 requests at a rate of 1, utilizing 128 prompt tokens to assess the data gathering process.

🔄 02 Export-Artifacts

@psap-forge-bot

psap-forge-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown
🟢 Submission of skeleton collect_cluster_info succeeded after 1 minute, 48 seconds 🟢
/test fournos skeleton collect_cluster_info
/cluster psap-mgmt

@kpouget kpouget merged commit 0ab215a into openshift-psap:main Jul 2, 2026
6 of 7 checks passed
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.

1 participant