Skip to content

Migrate SageMaker SDK V2 to V3 in test suites#5956

Open
bhanutejagk wants to merge 6 commits intomainfrom
migrate-sagemaker-sdk-v3
Open

Migrate SageMaker SDK V2 to V3 in test suites#5956
bhanutejagk wants to merge 6 commits intomainfrom
migrate-sagemaker-sdk-v3

Conversation

@bhanutejagk
Copy link
Copy Markdown
Contributor

  • Replace XGBoost Estimator with ModelTrainer for training tests
  • Replace Model with ModelBuilder for inference tests (vLLM, SGLang, vLLM-Omni, Ray)
  • Update HyperparameterTuner to V3 import path and API
  • Update requirements to sagemaker>=3.0.0

Purpose

Test Plan

Test Result


Toggle if you are merging into master Branch

By default, docker image builds and tests are disabled. Two ways to run builds and tests:

  1. Using dlc_developer_config.toml
  2. Using this PR description (currently only supported for PyTorch, TensorFlow, vllm, and base images)
How to use the helper utility for updating dlc_developer_config.toml

Assuming your remote is called origin (you can find out more with git remote -v)...

  • Run default builds and tests for a particular buildspec - also commits and pushes changes to remote; Example:

python src/prepare_dlc_dev_environment.py -b </path/to/buildspec.yml> -cp origin

  • Enable specific tests for a buildspec or set of buildspecs - also commits and pushes changes to remote; Example:

python src/prepare_dlc_dev_environment.py -b </path/to/buildspec.yml> -t sanity_tests -cp origin

  • Restore TOML file when ready to merge

python src/prepare_dlc_dev_environment.py -rcp origin

NOTE: If you are creating a PR for a new framework version, please ensure success of the local, standard, rc, and efa sagemaker tests by updating the dlc_developer_config.toml file:

  • sagemaker_remote_tests = true
  • sagemaker_efa_tests = true
  • sagemaker_rc_tests = true
  • sagemaker_local_tests = true
How to use PR description Use the code block below to uncomment commands and run the PR CodeBuild jobs. There are two commands available:
  • # /buildspec <buildspec_path>
    • e.g.: # /buildspec pytorch/training/buildspec.yml
    • If this line is commented out, dlc_developer_config.toml will be used.
  • # /tests <test_list>
    • e.g.: # /tests sanity security ec2
    • If this line is commented out, it will run the default set of tests (same as the defaults in dlc_developer_config.toml): sanity, security, ec2, ecs, eks, sagemaker, sagemaker-local.
# /buildspec <buildspec_path>
# /tests <test_list>
Toggle if you are merging into main Branch

PR Checklist

  • [] I ran pre-commit run --all-files locally before creating this PR. (Read DEVELOPMENT.md for details).

Bhanu Teja Goshikonda added 2 commits April 16, 2026 18:37
- Replace XGBoost Estimator with ModelTrainer for training tests
- Replace Model with ModelBuilder for inference tests (vLLM, SGLang, vLLM-Omni, Ray)
- Update HyperparameterTuner to V3 import path and API
- Update requirements to sagemaker>=3.0.0
- Fix ruff-format: json.dumps dict arg style (sglang, vllm)
- Fix ruff-check F841: remove unused variable sm (vllm-omni)
- Fix ruff-check F401: remove unused TransformJob import (xgboost)
- Fix ruff-check isort: merge and reorder imports (xgboost)
- Fix ruff-format: one-arg-per-line in _run_hpo calls (xgboost)
@bhanutejagk bhanutejagk force-pushed the migrate-sagemaker-sdk-v3 branch from 26f1fda to 7665eea Compare April 17, 2026 01:37
Bhanu Teja Goshikonda added 2 commits April 17, 2026 10:48
- Change from sagemaker.serve.configs to sagemaker.serve.model_builder
- Remove unused sm variable and stale comment in vllm-omni async fixture
@bhanutejagk bhanutejagk force-pushed the migrate-sagemaker-sdk-v3 branch from 1f9166f to 23c648a Compare April 17, 2026 21:00
Bhanu Teja Goshikonda added 2 commits April 17, 2026 14:25
InferenceSpec is an abstract class in V3 and cannot be instantiated.
Pass image_uri, env_vars, s3_model_data_url, role_arn directly to
ModelBuilder instead.
…c config

- Add builder.build() before every deploy() call (V3 requirement)
- Update sagemaker.train.configs to sagemaker.core.training.configs
- Replace async_inference_config dict with AsyncInferenceConfig object
- Remove unused train_distribution parameter and caller args
@bhanutejagk bhanutejagk force-pushed the migrate-sagemaker-sdk-v3 branch 2 times, most recently from fca39c5 to b90185a Compare April 20, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant