Skip to content

Commit 0d06276

Browse files
authored
breaking: deprecate get_ecr_image_uri_prefix (#1781)
1 parent d6ed0c3 commit 0d06276

File tree

3 files changed

+18
-36
lines changed

3 files changed

+18
-36
lines changed

src/sagemaker/utils.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -534,20 +534,6 @@ def download_file(bucket_name, path, target, sagemaker_session):
534534
bucket.download_file(path, target)
535535

536536

537-
def get_ecr_image_uri_prefix(account, region):
538-
"""get prefix of ECR image URI
539-
540-
Args:
541-
account (str): AWS account number
542-
region (str): AWS region name
543-
544-
Returns:
545-
(str): URI prefix of ECR image
546-
"""
547-
endpoint_data = _botocore_resolver().construct_endpoint("ecr", region)
548-
return "{}.dkr.{}".format(account, endpoint_data["hostname"])
549-
550-
551537
def sts_regional_endpoint(region):
552538
"""Get the AWS STS endpoint specific for the given region.
553539

tests/integ/test_multidatamodel.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from sagemaker.mxnet import MXNet
3030
from sagemaker.predictor import Predictor
3131
from sagemaker.serializers import NumpySerializer
32-
from sagemaker.utils import sagemaker_timestamp, unique_name_from_base, get_ecr_image_uri_prefix
32+
from sagemaker.utils import sagemaker_timestamp, unique_name_from_base
3333
from tests.integ import DATA_DIR, TRAINING_DEFAULT_TIMEOUT_MINUTES
3434
from tests.integ.retry import retries
3535
from tests.integ.timeout import timeout, timeout_and_delete_endpoint_by_name
@@ -42,19 +42,9 @@
4242

4343
@pytest.fixture(scope="module")
4444
def container_image(sagemaker_session):
45-
""" Create a Multi-Model container image for use with integration testcases
46-
since 1P containers supporting multiple models are not available yet"""
47-
region = sagemaker_session.boto_region_name
48-
ecr_client = sagemaker_session.boto_session.client("ecr", region_name=region)
49-
sts_client = sagemaker_session.boto_session.client(
50-
"sts", region_name=region, endpoint_url=utils.sts_regional_endpoint(region)
51-
)
52-
account_id = sts_client.get_caller_identity()["Account"]
53-
algorithm_name = "sagemaker-multimodel-integ-test-{}".format(sagemaker_timestamp())
54-
ecr_image_uri_prefix = get_ecr_image_uri_prefix(account=account_id, region=region)
55-
ecr_image = "{prefix}/{algorithm_name}:latest".format(
56-
prefix=ecr_image_uri_prefix, algorithm_name=algorithm_name
57-
)
45+
"""Create a Multi-Model image since pre-built ones are not available yet."""
46+
algorithm_name = unique_name_from_base("sagemaker-multimodel-integ-test")
47+
ecr_image = _ecr_image_uri(sagemaker_session, algorithm_name)
5848

5949
# Build and tag docker image locally
6050
docker_client = docker.from_env()
@@ -64,7 +54,9 @@ def container_image(sagemaker_session):
6454
image.tag(ecr_image, tag="latest")
6555

6656
# Create AWS ECR and push the local docker image to it
57+
ecr_client = sagemaker_session.boto_session.client("ecr")
6758
_create_repository(ecr_client, algorithm_name)
59+
6860
username, password = _ecr_login(ecr_client)
6961
# Retry docker image push
7062
for _ in retries(3, "Upload docker image to ECR repo", seconds_to_sleep=10):
@@ -83,6 +75,18 @@ def container_image(sagemaker_session):
8375
_delete_repository(ecr_client, algorithm_name)
8476

8577

78+
def _ecr_image_uri(sagemaker_session, algorithm_name):
79+
region = sagemaker_session.boto_region_name
80+
81+
sts_client = sagemaker_session.boto_session.client(
82+
"sts", region_name=region, endpoint_url=utils.sts_regional_endpoint(region)
83+
)
84+
account_id = sts_client.get_caller_identity()["Account"]
85+
86+
endpoint_data = utils._botocore_resolver().construct_endpoint("ecr", region)
87+
return "{}.dkr.{}/{}:latest".format(account_id, endpoint_data["hostname"], algorithm_name)
88+
89+
8690
def _create_repository(ecr_client, repository_name):
8791
"""
8892
Creates an ECS Repository (ECR). When a new transform is being registered,

tests/unit/test_utils.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -644,14 +644,6 @@ def walk():
644644
return result if result else {}
645645

646646

647-
def test_get_ecr_image_uri_prefix():
648-
ecr_prefix = sagemaker.utils.get_ecr_image_uri_prefix("123456789012", "us-west-2")
649-
assert ecr_prefix == "123456789012.dkr.ecr.us-west-2.amazonaws.com"
650-
651-
ecr_prefix = sagemaker.utils.get_ecr_image_uri_prefix("123456789012", "us-iso-east-1")
652-
assert ecr_prefix == "123456789012.dkr.ecr.us-iso-east-1.c2s.ic.gov"
653-
654-
655647
def test_sts_regional_endpoint():
656648
endpoint = sagemaker.utils.sts_regional_endpoint("us-west-2")
657649
assert endpoint == "https://sts.us-west-2.amazonaws.com"

0 commit comments

Comments
 (0)