Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update DLAMI BASE AMI Logic to switch between OSS and Proprietary Nvidia Driver AMI #3760

Merged
merged 51 commits into from
Mar 19, 2024
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
840aef6
Update DLAMI BASE AMI Logic to switch between OSS and Proprietary Nvi…
Mar 8, 2024
95f6e46
update gdrcopy to 2.4
Mar 8, 2024
2e4b09b
formatting
Mar 8, 2024
c28d32b
disable buiild and fix sm local test instance ami
Mar 11, 2024
61212b4
use proprietary drier dlami as default
Mar 11, 2024
a0f8f82
fix ul20 and aml2 dlami name logic and test only ec2
Mar 11, 2024
ce3d3da
allow test efa
Mar 11, 2024
00fba94
update oss dlami list
Mar 11, 2024
434fbdc
test curand
Mar 11, 2024
115c33c
ensure ec2 instance type fixture is ran before ec2 instance ami
Mar 12, 2024
092b14b
alter ami pulling logic
Mar 12, 2024
b75b415
usefixtures
Mar 12, 2024
9dc8fec
use parametrize
Mar 12, 2024
95ddb86
use instance ami in parametrize
Mar 12, 2024
1d9347f
add instace ami ad parametrize
Mar 12, 2024
a78962d
Merge branch 'master' into update-ami
sirutBuasai Mar 12, 2024
0a9504d
fix curand test
Mar 13, 2024
c66555e
correct ami name
Mar 13, 2024
e5716bc
correct ami format
Mar 13, 2024
66ce9fc
use proprietary dlami for curand
Mar 13, 2024
68273a4
rebuild
Mar 14, 2024
c70f0e9
logging debug
Mar 14, 2024
75f8e86
remove parametrize ami
Mar 14, 2024
5a99d36
flip logic
Mar 14, 2024
9040c77
formatting
Mar 14, 2024
2f16a5b
print instance ami
Mar 14, 2024
3b15a71
fix typo
Mar 14, 2024
b83eed1
remove parametrize logic and fix proprietary dlami name pattern
Mar 14, 2024
9f3a24d
Merge branch 'master' into update-ami
sirutBuasai Mar 14, 2024
3a78b32
revert gdr copy
Mar 14, 2024
f8af0b0
update test with gdrcopy 2.4
Mar 14, 2024
e32684a
build test pt ec2
Mar 15, 2024
c8b1ce0
build test pt sm
Mar 15, 2024
63d8a31
remove gdrcopy ami
Mar 15, 2024
e40298b
sanity and sm local testonly
Mar 15, 2024
9efd8da
build test pt sm
Mar 15, 2024
f8538bf
Merge branch 'master' into update-ami
sirutBuasai Mar 15, 2024
f9633d6
formatting
Mar 15, 2024
2682dac
test pt sm
Mar 16, 2024
b561099
build test pt sm
Mar 16, 2024
2b52804
disable build
Mar 16, 2024
dd1e2b2
build test pt sm
Mar 16, 2024
e5fe485
use get-login-password
Mar 18, 2024
ac78c1f
remove () from get-login
Mar 18, 2024
4013f89
test tensorflow
Mar 18, 2024
9f74eeb
use login_to_ecr_registry function
Mar 18, 2024
185d4a5
use dict for base dlami logic
Mar 18, 2024
a893035
use image uri instead
Mar 18, 2024
64d9afa
fix aml2 dlami logic
Mar 18, 2024
ef03578
revert toml file
Mar 19, 2024
feab20e
Merge branch 'master' into update-ami
sirutBuasai Mar 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions dlc_developer_config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ deep_canary_mode = false
[build]
# Add in frameworks you would like to build. By default, builds are disabled unless you specify building an image.
# available frameworks - ["autogluon", "huggingface_tensorflow", "huggingface_pytorch", "huggingface_tensorflow_trcomp", "huggingface_pytorch_trcomp", "pytorch_trcomp", "tensorflow", "mxnet", "pytorch", "stabilityai_pytorch"]
build_frameworks = []
build_frameworks = ["pytorch"]

# By default we build both training and inference containers. Set true/false values to determine which to build.
build_training = true
build_inference = true
build_inference = false

# Set do_build to "false" to skip builds and test the latest image built by this PR
# Note: at least one build is required to set do_build to "false"
Expand Down Expand Up @@ -67,20 +67,20 @@ ec2_benchmark_tests = false
### default. If false, these types of tests will be skipped while other tests will run as usual.
### These tests are run in EC2 test jobs, so ec2_tests must be true if ec2_tests_on_heavy_instances is true.
### Off by default (set to false)
ec2_tests_on_heavy_instances = false
ec2_tests_on_heavy_instances = true

### SM specific tests
### Off by default
sagemaker_local_tests = false
sagemaker_local_tests = true

# run standard sagemaker remote tests from test/sagemaker_tests
sagemaker_remote_tests = false
sagemaker_remote_tests = true
# run efa sagemaker tests
sagemaker_efa_tests = false
sagemaker_efa_tests = true
# run release_candidate_integration tests
sagemaker_rc_tests = false
sagemaker_rc_tests = true
# run sagemaker benchmark tests
sagemaker_benchmark_tests = false
sagemaker_benchmark_tests = true

# SM remote EFA test instance type
sagemaker_remote_efa_instance_type = ""
Expand Down
2 changes: 1 addition & 1 deletion pytorch/training/docker/2.2/py3/cu121/Dockerfile.gpu
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
ENV CUDNN_VERSION=8.9.2.26
ENV NCCL_VERSION=2.19.4
ENV EFA_VERSION=1.30.0
ENV GDRCOPY_VERSION=2.3.1
ENV GDRCOPY_VERSION=2.4.1

ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"
ENV OPEN_MPI_PATH=/opt/amazon/openmpi
Expand Down
26 changes: 10 additions & 16 deletions test/dlc_tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,7 @@
is_nightly_context,
DEFAULT_REGION,
P3DN_REGION,
UBUNTU_20_BASE_DLAMI_US_EAST_1,
UBUNTU_20_BASE_DLAMI_US_WEST_2,
PT_GPU_PY3_BENCHMARK_IMAGENET_AMI_US_EAST_1,
AML2_BASE_DLAMI_US_WEST_2,
AML2_BASE_DLAMI_US_EAST_1,
KEYS_TO_DESTROY_FILE,
are_efa_tests_disabled,
get_repository_and_tag_from_image_uri,
Expand Down Expand Up @@ -330,18 +326,11 @@ def ec2_instance_role_name(request):


@pytest.fixture(scope="function")
def ec2_instance_ami(request, region):
def ec2_instance_ami(request, region, ec2_instance_type):
return (
request.param
if hasattr(request, "param")
else UBUNTU_20_BASE_DLAMI_US_EAST_1
if region == "us-east-1"
else UBUNTU_20_BASE_DLAMI_US_WEST_2
if region == "us-west-2"
else test_utils.get_ami_id_boto3(
region_name=region,
ami_name_pattern="Deep Learning Base GPU AMI (Ubuntu 20.04) ????????",
)
else test_utils.get_instance_type_base_dlami(ec2_instance_type, region)
)


Expand Down Expand Up @@ -564,9 +553,14 @@ def ec2_instance(
)
if ec2_instance_ami != PT_GPU_PY3_BENCHMARK_IMAGENET_AMI_US_EAST_1:
ec2_instance_ami = (
AML2_BASE_DLAMI_US_EAST_1
if ec2_instance_ami == AML2_BASE_DLAMI_US_WEST_2
else UBUNTU_20_BASE_DLAMI_US_EAST_1
test_utils.get_instance_type_base_dlami(
sirutBuasai marked this conversation as resolved.
Show resolved Hide resolved
ec2_instance_type, "us-east-1", linux_dist="AML2"
)
if ec2_instance_ami
== test_utils.get_instance_type_base_dlami(
ec2_instance_type, "us-west-2", linux_dist="AML2"
)
else test_utils.get_instance_type_base_dlami(ec2_instance_type, "us-east-1")
)

ec2_key_name = f"{ec2_key_name}-{str(uuid.uuid4())}"
Expand Down
2 changes: 1 addition & 1 deletion test/dlc_tests/container_tests/bin/efa/testEFASanity
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ lsmod | grep ib_uverbs
ibv_devinfo

# check if gdr device is loaded
grep -e '^1$' /sys/class/infiniband/**/device/gdr
cat /sys/class/infiniband/**/device/p2p | grep 'NVIDIA'
10 changes: 5 additions & 5 deletions test/dlc_tests/ec2/pytorch/training/common_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,10 @@ def pytorch_cudnn_match_gpu(pytorch_training, ec2_connection, region):
), f"System CUDNN {system_cudnn} and torch cudnn {cudnn_from_torch} do not match. Please downgrade system CUDNN or recompile torch with correct CUDNN verson."


def pytorch_curand_gpu(pytorch_training, ec2_connection):
execute_ec2_training_test(ec2_connection, pytorch_training, CURAND_CMD)


def pytorch_linear_regression_cpu(pytorch_training, ec2_connection):
execute_ec2_training_test(
ec2_connection, pytorch_training, PT_REGRESSION_CMD, container_name="pt_reg"
Expand All @@ -240,14 +244,10 @@ def pytorch_telemetry_cpu(pytorch_training, ec2_connection):
)


def curand_gpu(training, ec2_connection):
execute_ec2_training_test(ec2_connection, training, CURAND_CMD)


def pytorch_training_torchdata(pytorch_training, ec2_connection):
_, image_framework_version = get_framework_and_version_from_tag(pytorch_training)
# HACK including PT 1.13 in this condition because the Torchdata 0.5.0 tag includes old tests data
if Version(image_framework_version) in SpecifierSet(">=1.11,<=1.13.1"):
execute_ec2_training_test(ec2_connection, pytorch_training, PT_TORCHDATA_DEV_CMD)
else:
execute_ec2_training_test(ec2_connection, pytorch_training, PT_TORCHDATA_CMD)
execute_ec2_training_test(ec2_connection, pytorch_training, PT_TORCHDATA_CMD)
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ def test_pytorch_2_2_gpu(
(common_cases.nvapex, (pytorch_training, ec2_connection)),
(common_cases.pytorch_training_torchaudio, (pytorch_training, ec2_connection)),
(common_cases.pytorch_cudnn_match_gpu, (pytorch_training, ec2_connection, region)),
(common_cases.pytorch_curand_gpu, (pytorch_training, ec2_connection)),
sirutBuasai marked this conversation as resolved.
Show resolved Hide resolved
]

if "sagemaker" in pytorch_training:
Expand Down
3 changes: 0 additions & 3 deletions test/dlc_tests/ec2/test_gdrcopy.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@
@pytest.mark.team("conda")
@pytest.mark.integration("gdrcopy")
@pytest.mark.parametrize("ec2_instance_type,region", EC2_EFA_GPU_INSTANCE_TYPE_AND_REGION)
@pytest.mark.parametrize(
"ec2_instance_ami", [test_utils.UBUNTU_20_BASE_DLAMI_US_WEST_2], indirect=True
)
@pytest.mark.skipif(
is_pr_context() and not are_heavy_instance_ec2_tests_enabled(),
reason="Skip GDRCopy test in PR context unless explicitly enabled",
Expand Down
136 changes: 125 additions & 11 deletions test/test_utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,18 +78,38 @@ def get_ami_id_ssm(region_name, parameter_path):
return ami_id


# The Ubuntu 20.04 AMI which adds GDRCopy is used only for GDRCopy feature that is supported on PT1.13 and PT2.0
UBUNTU_20_BASE_DLAMI_US_WEST_2 = get_ami_id_boto3(
region_name="us-west-2", ami_name_pattern="Deep Learning Base GPU AMI (Ubuntu 20.04) ????????"
# DLAMI Base is split between OSS Nvidia Driver and Propietary Nvidia Driver. see https://docs.aws.amazon.com/dlami/latest/devguide/important-changes.html
UBUNTU_20_BASE_OSS_DLAMI_US_WEST_2 = get_ami_id_boto3(
Copy link
Contributor

Choose a reason for hiding this comment

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

looked at scope of removing these, and it will over-scope this PR. We can proceed with this for now

region_name="us-west-2",
ami_name_pattern="Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 20.04) ????????",
)
UBUNTU_20_BASE_DLAMI_US_EAST_1 = get_ami_id_boto3(
region_name="us-east-1", ami_name_pattern="Deep Learning Base GPU AMI (Ubuntu 20.04) ????????"
UBUNTU_20_BASE_OSS_DLAMI_US_EAST_1 = get_ami_id_boto3(
region_name="us-east-1",
ami_name_pattern="Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 20.04) ????????",
)
AML2_BASE_DLAMI_US_WEST_2 = get_ami_id_boto3(
region_name="us-west-2", ami_name_pattern="Deep Learning Base AMI (Amazon Linux 2) Version ??.?"
UBUNTU_20_BASE_PROPRIETARY_DLAMI_US_WEST_2 = get_ami_id_boto3(
region_name="us-west-2",
ami_name_pattern="Deep Learning Base Proprietary Nvidia Driver GPU AMI (Ubuntu 20.04) ????????",
)
AML2_BASE_DLAMI_US_EAST_1 = get_ami_id_boto3(
region_name="us-east-1", ami_name_pattern="Deep Learning Base AMI (Amazon Linux 2) Version ??.?"
UBUNTU_20_BASE_PROPRIETARY_DLAMI_US_EAST_1 = get_ami_id_boto3(
region_name="us-east-1",
ami_name_pattern="Deep Learning Base Proprietary Nvidia Driver GPU AMI (Ubuntu 20.04) ????????",
)
AML2_BASE_OSS_DLAMI_US_WEST_2 = get_ami_id_boto3(
region_name="us-west-2",
ami_name_pattern="Deep Learning Base OSS Nvidia Driver AMI (Amazon Linux 2) Version ??.?",
)
AML2_BASE_OSS_DLAMI_US_EAST_1 = get_ami_id_boto3(
region_name="us-east-1",
ami_name_pattern="Deep Learning Base OSS Nvidia Driver AMI (Amazon Linux 2) Version ??.?",
)
AML2_BASE_PROPRIETARY_DLAMI_US_WEST_2 = get_ami_id_boto3(
region_name="us-west-2",
ami_name_pattern="Deep Learning Base Proprietary Nvidia Driver AMI (Amazon Linux 2) Version ??.?",
)
AML2_BASE_PROPRIETARY_DLAMI_US_EAST_1 = get_ami_id_boto3(
region_name="us-east-1",
ami_name_pattern="Deep Learning Base Proprietary Nvidia Driver AMI (Amazon Linux 2) Version ??.?",
)
# We use the following DLAMI for MXNet and TensorFlow tests as well, but this is ok since we use custom DLC Graviton containers on top. We just need an ARM base DLAMI.
UL20_CPU_ARM64_US_WEST_2 = get_ami_id_boto3(
Expand Down Expand Up @@ -145,8 +165,10 @@ def get_ami_id_ssm(region_name, parameter_path):
UBUNTU_18_HPU_DLAMI_US_WEST_2 = "ami-03cdcfc91a96a8f92"
UBUNTU_18_HPU_DLAMI_US_EAST_1 = "ami-0d83d7487f322545a"
UL_AMI_LIST = [
UBUNTU_20_BASE_DLAMI_US_WEST_2,
UBUNTU_20_BASE_DLAMI_US_EAST_1,
UBUNTU_20_BASE_OSS_DLAMI_US_WEST_2,
UBUNTU_20_BASE_OSS_DLAMI_US_EAST_1,
UBUNTU_20_BASE_PROPRIETARY_DLAMI_US_WEST_2,
UBUNTU_20_BASE_PROPRIETARY_DLAMI_US_EAST_1,
UBUNTU_18_HPU_DLAMI_US_WEST_2,
UBUNTU_18_HPU_DLAMI_US_EAST_1,
PT_GPU_PY3_BENCHMARK_IMAGENET_AMI_US_EAST_1,
Expand Down Expand Up @@ -2370,3 +2392,95 @@ def get_image_spec_from_buildspec(image_uri, dlc_folder_path):
raise ValueError(f"No corresponding entry found for {image_uri} in {buildspec_path}")

return matched_image_spec


def get_instance_type_base_dlami(instance_type, region, linux_dist="UBUNTU_20"):
"""
Get Instance types based on EC2 instance, see https://docs.aws.amazon.com/dlami/latest/devguide/important-changes.html
OSS Nvidia Driver DLAMI supports the following: ["g4dn.xlarge",
"g4dn.2xlarge",
"g4dn.4xlarge",
"g4dn.8xlarge",
"g4dn.16xlarge",
"g4dn.12xlarge",
"g4dn.metal",
"g4dn.xlarge",
"g5.xlarge",
"g5.2xlarge",
"g5.4xlarge",
"g5.8xlarge",
"g5.16xlarge",
"g5.12xlarge",
"g5.24xlarge",
"g5.48xlarge",
"p4d.24xlarge",
"p4de.24xlarge",
"p5.48xlarge",]

Proprietary Nvidia Driver DLAMI supports the following: ["p3.2xlarge",
"p3.8xlarge",
"p3.16xlarge",
"p3dn.24xlarge",
"g3s.xlarge",
"g3.4xlarge",
"g3.8xlarge",
"g3.16xlarge",]

Other instances will default to Proprietary Nvidia Driver DLAMI
"""

base_proprietary_dlami_instances = [
arjkesh marked this conversation as resolved.
Show resolved Hide resolved
"p3.2xlarge",
"p3.8xlarge",
"p3.16xlarge",
"p3dn.24xlarge",
"g3s.xlarge",
"g3.4xlarge",
"g3.8xlarge",
"g3.16xlarge",
]

# set defaults
if linux_dist == "AML2":
sirutBuasai marked this conversation as resolved.
Show resolved Hide resolved
oss_dlami_us_east_1 = AML2_BASE_OSS_DLAMI_US_EAST_1
oss_dlami_us_west_2 = AML2_BASE_OSS_DLAMI_US_WEST_2
oss_dlami_name_pattern = (
"Deep Learning Base OSS Nvidia Driver AMI (Amazon Linux 2) Version ??.?"
sirutBuasai marked this conversation as resolved.
Show resolved Hide resolved
)

proprietary_dlami_us_east_1 = AML2_BASE_PROPRIETARY_DLAMI_US_EAST_1
proprietary_dlami_us_west_2 = AML2_BASE_PROPRIETARY_DLAMI_US_WEST_2
proprietary_dlami_name_pattern = (
"Deep Learning Base Proprietary Nvidia Driver AMI (Amazon Linux 2) Version ??.?"
)
else:
oss_dlami_us_east_1 = UBUNTU_20_BASE_OSS_DLAMI_US_EAST_1
oss_dlami_us_west_2 = UBUNTU_20_BASE_OSS_DLAMI_US_WEST_2
oss_dlami_name_pattern = (
"Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 20.04) ????????"
)

proprietary_dlami_us_east_1 = UBUNTU_20_BASE_PROPRIETARY_DLAMI_US_EAST_1
proprietary_dlami_us_west_2 = UBUNTU_20_BASE_PROPRIETARY_DLAMI_US_WEST_2
proprietary_dlami_name_pattern = (
"Deep Learning Base Proprietary Nvidia Driver GPU AMI (Ubuntu 20.04) ????????"
)

instance_ami = (
proprietary_dlami_us_east_1
sirutBuasai marked this conversation as resolved.
Show resolved Hide resolved
if region == "us-east-1" and instance_type in base_proprietary_dlami_instances
else proprietary_dlami_us_west_2
if region == "us-west-2" and instance_type in base_proprietary_dlami_instances
else get_ami_id_boto3(
region_name=region,
ami_name_pattern=proprietary_dlami_name_pattern,
)
if instance_type in base_proprietary_dlami_instances
else oss_dlami_us_east_1
if region == "us-east-1"
else oss_dlami_us_west_2
if region == "us-west-2"
else get_ami_id_boto3(region_name=region, ami_name_pattern=oss_dlami_name_pattern)
)

return instance_ami
4 changes: 2 additions & 2 deletions test/test_utils/ec2.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,11 @@ def get_efa_ec2_instance_type(default, filter_function=lambda x: x, job_type="")
a list.
"""
instance_list = get_ec2_instance_type(default, "gpu", filter_function, job_type=job_type)
instance_list = [
instance_region_list = [
(instance_type, get_cicd_instance_reserved_region(instance_type))
for instance_type in instance_list
]
return instance_list
return instance_region_list


def get_ec2_instance_type(
Expand Down
15 changes: 5 additions & 10 deletions test/test_utils/sagemaker.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,14 @@
SAGEMAKER_EXECUTION_REGIONS,
SAGEMAKER_NEURON_EXECUTION_REGIONS,
SAGEMAKER_NEURONX_EXECUTION_REGIONS,
UBUNTU_20_BASE_DLAMI_US_EAST_1,
UBUNTU_20_BASE_DLAMI_US_WEST_2,
UL20_CPU_ARM64_US_EAST_1,
UL20_CPU_ARM64_US_WEST_2,
SAGEMAKER_LOCAL_TEST_TYPE,
SAGEMAKER_REMOTE_TEST_TYPE,
UBUNTU_HOME_DIR,
DEFAULT_REGION,
is_nightly_context,
get_instance_type_base_dlami,
)
from test_utils.pytest_cache import PytestCache

Expand Down Expand Up @@ -85,7 +84,7 @@ def assign_sagemaker_local_job_instance_type(image):
return "p3.8xlarge" if "gpu" in image else "c5.18xlarge"


def assign_sagemaker_local_test_ami(image, region):
def assign_sagemaker_local_test_ami(image, region, instance_type):
"""
Helper function to get the needed AMI for launching the image.
Needed to support Graviton(ARM) images
Expand All @@ -96,13 +95,10 @@ def assign_sagemaker_local_test_ami(image, region):
else:
return UL20_CPU_ARM64_US_WEST_2
else:
if region == "us-east-1":
return UBUNTU_20_BASE_DLAMI_US_EAST_1
else:
return UBUNTU_20_BASE_DLAMI_US_WEST_2
return get_instance_type_base_dlami(instance_type, region)


def launch_sagemaker_local_ec2_instance(image, ami_id, ec2_key_name, region):
def launch_sagemaker_local_ec2_instance(image, ec2_key_name, region):
"""
Launch Ec2 instance for running sagemaker local tests
:param image: str
Expand All @@ -112,6 +108,7 @@ def launch_sagemaker_local_ec2_instance(image, ami_id, ec2_key_name, region):
:return: str, str
"""
instance_type = assign_sagemaker_local_job_instance_type(image)
ami_id = assign_sagemaker_local_test_ami(image, region, instance_type)
instance_name = image.split("/")[-1]
instance = ec2_utils.launch_instance(
ami_id,
Expand Down Expand Up @@ -298,7 +295,6 @@ def execute_local_tests(image, pytest_cache_params):
random.seed(f"{datetime.datetime.now().strftime('%Y%m%d%H%M%S%f')}")
ec2_key_name = f"{job_type}_{tag}_sagemaker_{random.randint(1, 1000)}"
region = os.getenv("AWS_REGION", DEFAULT_REGION)
ec2_ami_id = assign_sagemaker_local_test_ami(image, region)
sm_tests_tar_name = "sagemaker_tests.tar.gz"
ec2_test_report_path = os.path.join(UBUNTU_HOME_DIR, "test", f"{job_type}_{tag}_sm_local.xml")
instance_id = ""
Expand All @@ -308,7 +304,6 @@ def execute_local_tests(image, pytest_cache_params):
print(f"Launching new Instance for image: {image}")
instance_id, ip_address = launch_sagemaker_local_ec2_instance(
image,
ec2_ami_id,
ec2_key_name,
region,
)
Expand Down
Loading