From 24175014764d2a2939873c891ff852523a3c20e3 Mon Sep 17 00:00:00 2001 From: Molly He Date: Thu, 22 Jan 2026 00:54:53 -0800 Subject: [PATCH 1/2] Fix sagemaker-core unit test and sagemaker-serve integ test due to numpy loose lower bound and new djl images --- sagemaker-core/pyproject.toml | 2 +- sagemaker-core/tests/unit/image_uris/test_djl.py | 2 ++ sagemaker-serve/tests/integ/test_huggingface_integration.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sagemaker-core/pyproject.toml b/sagemaker-core/pyproject.toml index 1ba71b594c..d0d5f0b214 100644 --- a/sagemaker-core/pyproject.toml +++ b/sagemaker-core/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ "packaging>=20.0", "protobuf>=3.12,<5.0", "pandas>=1.0.0", - "numpy>=1.9.0", + "numpy>=1.23.0", # Dependencies migrated from sagemaker_utils "smdebug_rulesconfig>=1.0.1", "schema>=0.7.5", diff --git a/sagemaker-core/tests/unit/image_uris/test_djl.py b/sagemaker-core/tests/unit/image_uris/test_djl.py index 8a8a0b0b06..23bae592f5 100644 --- a/sagemaker-core/tests/unit/image_uris/test_djl.py +++ b/sagemaker-core/tests/unit/image_uris/test_djl.py @@ -86,6 +86,7 @@ def _test_djl_uris(account, region, version, tag, djl_framework): # Known missing framework:version:region combinations that don't exist in ECR KNOWN_MISSING_COMBINATIONS = { "djl-lmi": { + "0.36.0": {"ap-east-2"}, "0.30.0-lmi12.0.0-cu124": {"ap-east-2"}, "0.29.0-lmi11.0.0-cu124": {"ap-east-2"}, "0.28.0-lmi10.0.0-cu124": {"ap-east-2"}, @@ -205,6 +206,7 @@ def _test_djl_uris(account, region, version, tag, djl_framework): }, }, "djl-tensorrtllm": { + "0.33.0": {"ap-east-2"}, "0.30.0-tensorrtllm0.12.0-cu125": {"ap-east-2"}, "0.29.0-tensorrtllm0.11.0-cu124": {"ap-east-2"}, "0.28.0-tensorrtllm0.9.0-cu122": {"ap-east-2"}, diff --git a/sagemaker-serve/tests/integ/test_huggingface_integration.py b/sagemaker-serve/tests/integ/test_huggingface_integration.py index 97e636aa3a..ab8301f917 100644 --- a/sagemaker-serve/tests/integ/test_huggingface_integration.py +++ b/sagemaker-serve/tests/integ/test_huggingface_integration.py @@ -25,7 +25,7 @@ logger = logging.getLogger(__name__) # Configuration - easily customizable -MODEL_ID = "t5-small" # Small text generation model +MODEL_ID = "gpt2" # Small causal language model compatible with DJL 0.36.0 vLLM MODEL_NAME_PREFIX = "hf-test-model" ENDPOINT_NAME_PREFIX = "hf-test-endpoint" From 8aaa9cb4d31e9be98373cd6f35149a76ac3ce79b Mon Sep 17 00:00:00 2001 From: Molly He Date: Thu, 22 Jan 2026 10:47:17 -0800 Subject: [PATCH 2/2] Revert numpy lower bound fix, fix for unit test of djl and pandas --- sagemaker-core/pyproject.toml | 2 +- .../tests/unit/image_uris/test_djl.py | 10 ++++++++-- sagemaker-core/tests/unit/test_analytics.py | 17 +++++++++++++---- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/sagemaker-core/pyproject.toml b/sagemaker-core/pyproject.toml index d0d5f0b214..1ba71b594c 100644 --- a/sagemaker-core/pyproject.toml +++ b/sagemaker-core/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ "packaging>=20.0", "protobuf>=3.12,<5.0", "pandas>=1.0.0", - "numpy>=1.23.0", + "numpy>=1.9.0", # Dependencies migrated from sagemaker_utils "smdebug_rulesconfig>=1.0.1", "schema>=0.7.5", diff --git a/sagemaker-core/tests/unit/image_uris/test_djl.py b/sagemaker-core/tests/unit/image_uris/test_djl.py index 23bae592f5..3d8c79642b 100644 --- a/sagemaker-core/tests/unit/image_uris/test_djl.py +++ b/sagemaker-core/tests/unit/image_uris/test_djl.py @@ -86,7 +86,12 @@ def _test_djl_uris(account, region, version, tag, djl_framework): # Known missing framework:version:region combinations that don't exist in ECR KNOWN_MISSING_COMBINATIONS = { "djl-lmi": { - "0.36.0": {"ap-east-2"}, + "0.36.0-lmi18.0.0-cu128": {"ap-east-2"}, + "0.35.0-lmi17.0.0-cu128": {"ap-east-2"}, + "0.34.0-lmi16.0.0-cu128": {"ap-east-2"}, + "0.33.0-lmi15.0.0-cu128": {"ap-east-2"}, + "0.32.0-lmi14.0.0-cu126": {"ap-east-2"}, + "0.31.0-lmi13.0.0-cu124": {"ap-east-2"}, "0.30.0-lmi12.0.0-cu124": {"ap-east-2"}, "0.29.0-lmi11.0.0-cu124": {"ap-east-2"}, "0.28.0-lmi10.0.0-cu124": {"ap-east-2"}, @@ -206,7 +211,8 @@ def _test_djl_uris(account, region, version, tag, djl_framework): }, }, "djl-tensorrtllm": { - "0.33.0": {"ap-east-2"}, + "0.33.0-tensorrtllm0.21.0-cu128": {"ap-east-2"}, + "0.32.0-tensorrtllm0.12.0-cu125": {"ap-east-2"}, "0.30.0-tensorrtllm0.12.0-cu125": {"ap-east-2"}, "0.29.0-tensorrtllm0.11.0-cu124": {"ap-east-2"}, "0.28.0-tensorrtllm0.9.0-cu122": {"ap-east-2"}, diff --git a/sagemaker-core/tests/unit/test_analytics.py b/sagemaker-core/tests/unit/test_analytics.py index 124a41ce58..eedab79f23 100644 --- a/sagemaker-core/tests/unit/test_analytics.py +++ b/sagemaker-core/tests/unit/test_analytics.py @@ -17,12 +17,8 @@ import pytest from unittest.mock import Mock, patch, MagicMock, mock_open from collections import OrderedDict - -# Mock pandas before importing analytics import sys -sys.modules["pandas"] = MagicMock() - from sagemaker.core.analytics import ( AnalyticsMetricsBase, HyperparameterTuningJobAnalytics, @@ -33,6 +29,19 @@ ) +@pytest.fixture(autouse=True) +def mock_pandas_for_analytics(): + """Mock pandas for analytics tests only, with proper cleanup.""" + original_pandas = sys.modules.get("pandas") + sys.modules["pandas"] = MagicMock() + yield + # Restore original pandas after each test + if original_pandas is not None: + sys.modules["pandas"] = original_pandas + elif "pandas" in sys.modules: + del sys.modules["pandas"] + + class TestAnalyticsMetricsBase: """Test AnalyticsMetricsBase abstract class."""