Skip to content

fix: preserve auth for CLI concurrency sweeps (cherry-pick to release/0.9.0)#985

Merged
saturley-hall merged 1 commit into
release/0.9.0from
cherry-pick/ea1ce3790-to-release/0.9.0
May 27, 2026
Merged

fix: preserve auth for CLI concurrency sweeps (cherry-pick to release/0.9.0)#985
saturley-hall merged 1 commit into
release/0.9.0from
cherry-pick/ea1ce3790-to-release/0.9.0

Conversation

@ajcasagrande
Copy link
Copy Markdown
Contributor

Summary

Conflicts

None — clean cherry-pick.

@ajcasagrande ajcasagrande added the cherry-pick Cherry-pick into release branch label May 22, 2026
@github-actions
Copy link
Copy Markdown

Try out this PR

Quick install:

pip install --upgrade --force-reinstall git+https://github.com/ai-dynamo/aiperf.git@0fed122c0c570ea63f5a101fca6a4cfe95dcf093

Recommended with virtual environment (using uv):

uv venv --python 3.12 && source .venv/bin/activate
uv pip install --upgrade --force-reinstall git+https://github.com/ai-dynamo/aiperf.git@0fed122c0c570ea63f5a101fca6a4cfe95dcf093

Last updated for commit: 0fed122Browse code

@github-actions github-actions Bot added the fix label May 22, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

else:
envelope_dict = config.model_dump(
mode="json", exclude_none=True, exclude_unset=True
mode="python",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The change preserves secrets only in the expanded plan, but multi-run execution writes each sweep cell with JSON redaction and only restores endpoint.api_key, so CLI sweeps that authenticate with --header Authorization/X-API-Key or URL userinfo still run with credentials in the subprocess. Fix: forward and restore endpoint.headers and endpoint.urls secrets through the same subprocess secret-injection path used for api_key.

🤖 AI Fix

Update src/aiperf/orchestrator/local_executor.py LocalSubprocessExecutor._run_benchmark_subprocess to pass run.cfg.endpoint.headers and run.cfg.endpoint.urls via private environment variables, update src/aiperf/orchestrator/subprocess_runner.py main to pop those variables and restore run.cfg.endpoint.headers and run.cfg.endpoint.urls after BenchmarkRun.model_validate, and add a regression test covering CLIConfig with headers=[("Authorization", "Bearer token")], a URL containing userinfo, and concurrency="1,2".

@saturley-hall saturley-hall merged commit aca8f85 into release/0.9.0 May 27, 2026
24 checks passed
@saturley-hall saturley-hall deleted the cherry-pick/ea1ce3790-to-release/0.9.0 branch May 27, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cherry-pick Cherry-pick into release branch fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants