-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Description
PySDK Version
- PySDK V2 (2.x)
- PySDK V3 (3.x)
Describe the bug
ModelBuilder.deploy(update_endpoint=True) raises AttributeError: 'Session' object has no attribute 'create_endpoint_config'.
In the installed V3 packages, ModelBuilder._deploy_core_endpoint() calls self.sagemaker_session.create_endpoint_config(...) on the update path, but sagemaker.core.helper.session_helper.Session does not implement that method.
To reproduce
Run the following script:
from types import SimpleNamespace
import boto3
from sagemaker.core.helper.session_helper import Session
from sagemaker.serve.model_builder import ModelBuilder
builder = ModelBuilder(
s3_model_data_url={
"S3DataSource": {
"S3Uri": "s3://example-bucket/model/",
"S3DataType": "S3Prefix",
"CompressionType": "None",
}
},
image_uri="123456789012.dkr.ecr.us-west-2.amazonaws.com/example:latest",
role_arn="arn:aws:iam::123456789012:role/SageMakerExecutionRole",
sagemaker_session=Session(boto_session=boto3.Session(region_name="us-west-2")),
instance_type="ml.g5.xlarge",
env_vars={},
)
builder.model_name = "demo-model"
builder.region = "us-west-2"
builder.endpoint_name = "demo-endpoint"
builder.built_model = SimpleNamespace(model_name="demo-model")
builder._deploy_core_endpoint(
endpoint_name="demo-endpoint",
instance_type="ml.g5.xlarge",
initial_instance_count=1,
wait=False,
update_endpoint=True,
)Steps
- Create a Python environment with the V3 SageMaker packages listed below.
- Save the script above.
- Run
python minimal_repro_model_builder_update_endpoint.py.
Expected behavior
One of the following should happen:
ModelBuilder.deploy(update_endpoint=True)should work with the defaultSessionimplementation used by V3 packages.- Or
ModelBuildershould use a session method that actually exists onsagemaker.core.helper.session_helper.Session.
Screenshots or logs
Actual error:
AttributeError: 'Session' object has no attribute 'create_endpoint_config'
I also confirmed locally that:
hasattr(Session, "create_endpoint_config") == FalseModelBuilder._deploy_core_endpoint()contains a call toself.sagemaker_session.create_endpoint_config(...)
In my real deployment code, this was triggered from ModelBuilder.build(...); ModelBuilder.deploy(..., update_endpoint=True) while updating an existing SageMaker endpoint.
System information
- SageMaker Python SDK version: V3 packages;
sagemaker-core==2.5.0,sagemaker-serve==1.5.0 - Framework name (eg. PyTorch) or algorithm (eg. KMeans): N/A for repro; issue is in
ModelBuilderupdate flow - Framework version: N/A
- Python version: 3.14.3
- CPU or GPU: Repro itself is local and does not require either; production usage was GPU-backed SageMaker endpoint deployment
- Custom Docker image (Y/N): N
Additional context
- Avoiding
update_endpoint=Trueand recreating the endpoint instead works around the issue. - This looks related to the ongoing V3 API/session transition, and may be adjacent to issue AttributeError: module 'sagemaker' has no attribute 'Session' #5336, but this report is specifically about the missing
create_endpoint_config()method on the session object used byModelBuilder.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels