Skip to content

chore: allow virtual address style for s3 storage#458

Merged
achandrasekar merged 1 commit into
kubernetes-sigs:mainfrom
walterbm:walter/allow-virtual-address-s3
Apr 28, 2026
Merged

chore: allow virtual address style for s3 storage#458
achandrasekar merged 1 commit into
kubernetes-sigs:mainfrom
walterbm:walter/allow-virtual-address-s3

Conversation

@walterbm
Copy link
Copy Markdown
Contributor

Allow the S3 config to accept the configurations needed to upload into S3 compatible services (like CoreWeave Storage) which match the S3 spec but require virtual hosted-style URLs

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Apr 28, 2026

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: walterbm / name: walterbm (4c465fa)

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Welcome @walterbm!

It looks like this is your first PR to kubernetes-sigs/inference-perf 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/inference-perf has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 28, 2026
@achandrasekar
Copy link
Copy Markdown
Contributor

Change looks good overall. Thanks for adding this! Please sign the CNCF CLA before we can merge.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Apr 28, 2026
@achandrasekar
Copy link
Copy Markdown
Contributor

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 28, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: achandrasekar, walterbm

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 28, 2026
@achandrasekar achandrasekar merged commit 995f19b into kubernetes-sigs:main Apr 28, 2026
5 of 6 checks passed
jjk-g pushed a commit to jjk-g/inference-perf that referenced this pull request Apr 30, 2026
Allow the S3 config to accept the configurations needed to upload into
S3 compatible services (like [CoreWeave
Storage](https://docs.coreweave.com/products/storage/object-storage/about))
which match the S3 spec but require virtual hosted-style URLs
jicowan added a commit to jicowan/model-benchmarks that referenced this pull request May 7, 2026
…48)

inference-perf v0.2.0 has a built-in simple_storage_service storage
backend that writes results to S3 via boto3. We were running an
amazon/aws-cli:latest sidecar that polled /tmp/results on an emptyDir,
slept 2s after seeing JSON, and aws-s3-cp'd the file. Two reasons to
remove it:

- Race: the sidecar's "sleep 2 after first JSON appears" heuristic
  can race with inference-perf writing additional files, and any
  single-file assumption is wrong for multi-stage runs.
- Dead weight: 250 MiB image, extra container, extra emptyDir (still
  kept for inference-perf's intermediate writes), floating :latest tag.

Changes:

internal/manifest/templates/inferenceperf-config.yaml.tmpl:
  Emit storage.simple_storage_service when StorageBucket is set,
  otherwise fall through to local_storage (useful in tests and when
  the API pod has no results bucket configured).

internal/manifest/templates/loadgen-job.yaml.tmpl:
  Remove the s3-upload sidecar block entirely. Keep /tmp/results
  emptyDir (inference-perf still writes intermediates there). Set
  AWS_REGION + AWS_DEFAULT_REGION on the main container so boto3's
  default-chain region resolution works without an instance-metadata
  roundtrip.

internal/manifest/inferenceperf.go / render.go:
  Add StorageBucket / StoragePath / StorageReportPrefix / StorageRegion
  fields on InferencePerfConfigParams; drop ResultsS3Bucket /
  ResultsS3Key from LoadgenJobParams (no longer needed).

internal/orchestrator/{lifecycle,suite}.go:
  Point inference-perf at s3://<bucket>/results/<run-or-scope>/. The
  orchestrator reads back via readResultsFromS3Prefix, which lists the
  prefix and preferentially picks the *summary* JSON (inference-perf's
  report writer emits multiple files: summary, request_stats, etc.);
  falls back to any .json in the prefix.

Tests updated to assert the new YAML structure and no remaining
sidecar references.

v0.2.0's SimpleStorageServiceConfig schema is {bucket_name, path,
report_file_prefix}. PR kubernetes-sigs/inference-perf#458 adds optional
region_name/endpoint_url/addressing_style — not present in v0.2.0, so
we omit region_name and let boto3 resolve region from AWS_REGION env.

Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants