6363 encrypt_inter_container_traffic = True ,
6464)
6565ENABLE_CLOUDWATCH_METRICS = True
66+ ENABLE_AUTOMATIC_DASHBOARD = True
67+ DASHBOARD_NAME = "DASHBOARD NAME"
6668
6769DEFAULT_BASELINING_MAX_RUNTIME_IN_SECONDS = 86400
6870DEFAULT_EXECUTION_MAX_RUNTIME_IN_SECONDS = 3600
@@ -958,16 +960,19 @@ def test_default_monitor_create_stop_and_start_monitoring_schedule_with_customiz
958960 my_default_monitor .stop_monitoring_schedule ()
959961
960962 _wait_for_schedule_changes_to_apply (monitor = my_default_monitor )
961-
962963
963964@pytest .mark .skipif (
964965 tests .integ .test_region () in tests .integ .NO_MODEL_MONITORING_REGIONS ,
965966 reason = "ModelMonitoring is not yet supported in this region." ,
966967)
967- def test_default_monitor_create_stop_and_start_monitoring_schedule_with_dashboards (
968- sagemaker_session , output_kms_key , volume_kms_key , predictor
968+ def test_default_monitor_create_and_update_schedule_config_with_customizations (
969+ sagemaker_session ,
970+ predictor ,
971+ volume_kms_key ,
972+ output_kms_key ,
973+ updated_volume_kms_key ,
974+ updated_output_kms_key ,
969975):
970-
971976 my_default_monitor = DefaultModelMonitor (
972977 role = ROLE ,
973978 instance_count = INSTANCE_COUNT ,
@@ -985,7 +990,7 @@ def test_default_monitor_create_stop_and_start_monitoring_schedule_with_dashboar
985990 output_s3_uri = os .path .join (
986991 "s3://" ,
987992 sagemaker_session .default_bucket (),
988- INTEG_TEST_MONITORING_OUTPUT_BUCKET ,
993+ "integ-test-monitoring-output-bucket" ,
989994 str (uuid .uuid4 ()),
990995 )
991996
@@ -1019,32 +1024,69 @@ def test_default_monitor_create_stop_and_start_monitoring_schedule_with_dashboar
10191024 network_config = NETWORK_CONFIG ,
10201025 )
10211026
1022- _wait_for_schedule_changes_to_apply (monitor = my_default_monitor )
1027+ statistics = Statistics .from_file_path (
1028+ statistics_file_path = os .path .join (tests .integ .DATA_DIR , "monitor/statistics.json" ),
1029+ sagemaker_session = sagemaker_session ,
1030+ )
10231031
1024- my_default_monitor .stop_monitoring_schedule ()
1032+ constraints = Constraints .from_file_path (
1033+ constraints_file_path = os .path .join (tests .integ .DATA_DIR , "monitor/constraints.json" ),
1034+ sagemaker_session = sagemaker_session ,
1035+ )
10251036
10261037 _wait_for_schedule_changes_to_apply (monitor = my_default_monitor )
10271038
1028- stopped_schedule_description = my_default_monitor .describe_schedule ()
1029- assert stopped_schedule_description ["MonitoringScheduleStatus" ] == "Stopped"
1039+ my_default_monitor .update_monitoring_schedule (
1040+ output_s3_uri = output_s3_uri ,
1041+ statistics = statistics ,
1042+ constraints = constraints ,
1043+ schedule_cron_expression = CronExpressionGenerator .hourly (),
1044+ instance_count = UPDATED_INSTANCE_COUNT ,
1045+ instance_type = UPDATED_INSTANCE_TYPE ,
1046+ volume_size_in_gb = UPDATED_VOLUME_SIZE_IN_GB ,
1047+ volume_kms_key = updated_volume_kms_key ,
1048+ output_kms_key = updated_output_kms_key ,
1049+ max_runtime_in_seconds = UPDATED_MAX_RUNTIME_IN_SECONDS ,
1050+ env = UPDATED_ENVIRONMENT ,
1051+ network_config = UPDATED_NETWORK_CONFIG ,
1052+ enable_cloudwatch_metrics = DISABLE_CLOUDWATCH_METRICS ,
1053+ role = UPDATED_ROLE ,
1054+ )
10301055
1031- my_default_monitor . start_monitoring_schedule ( )
1056+ _wait_for_schedule_changes_to_apply ( my_default_monitor )
10321057
1033- _wait_for_schedule_changes_to_apply (monitor = my_default_monitor )
1058+ schedule_description = my_default_monitor .describe_schedule ()
1059+ _verify_default_monitoring_schedule (
1060+ sagemaker_session = sagemaker_session ,
1061+ schedule_description = schedule_description ,
1062+ statistics = statistics ,
1063+ constraints = constraints ,
1064+ output_kms_key = updated_output_kms_key ,
1065+ volume_kms_key = updated_volume_kms_key ,
1066+ cron_expression = CronExpressionGenerator .hourly (),
1067+ instant_count = UPDATED_INSTANCE_COUNT ,
1068+ instant_type = UPDATED_INSTANCE_TYPE ,
1069+ volume_size_in_gb = UPDATED_VOLUME_SIZE_IN_GB ,
1070+ network_config = UPDATED_NETWORK_CONFIG ,
1071+ max_runtime_in_seconds = UPDATED_MAX_RUNTIME_IN_SECONDS ,
1072+ publish_cloudwatch_metrics = "Disabled" ,
1073+ env_key = UPDATED_ENV_KEY_1 ,
1074+ env_value = UPDATED_ENV_VALUE_1 ,
1075+ )
10341076
1035- started_schedule_description = my_default_monitor .describe_schedule ()
1036- assert started_schedule_description ["MonitoringScheduleStatus" ] == "Scheduled"
1077+ _wait_for_schedule_changes_to_apply (monitor = my_default_monitor )
10371078
10381079 my_default_monitor .stop_monitoring_schedule ()
10391080
10401081 _wait_for_schedule_changes_to_apply (monitor = my_default_monitor )
10411082
1083+ assert len (predictor .list_monitors ()) > 0
10421084
10431085@pytest .mark .skipif (
10441086 tests .integ .test_region () in tests .integ .NO_MODEL_MONITORING_REGIONS ,
10451087 reason = "ModelMonitoring is not yet supported in this region." ,
10461088)
1047- def test_default_monitor_create_and_update_schedule_config_with_customizations (
1089+ def test_default_monitor_create_and_update_schedule_config_with_dashboards (
10481090 sagemaker_session ,
10491091 predictor ,
10501092 volume_kms_key ,
@@ -1090,6 +1132,8 @@ def test_default_monitor_create_and_update_schedule_config_with_customizations(
10901132 constraints = constraints ,
10911133 schedule_cron_expression = CronExpressionGenerator .daily (),
10921134 enable_cloudwatch_metrics = ENABLE_CLOUDWATCH_METRICS ,
1135+ enable_automatic_dashboard = ENABLE_AUTOMATIC_DASHBOARD ,
1136+ dashboard_name = DASHBOARD_NAME ,
10931137 )
10941138
10951139 schedule_description = my_default_monitor .describe_schedule ()
@@ -1128,7 +1172,8 @@ def test_default_monitor_create_and_update_schedule_config_with_customizations(
11281172 max_runtime_in_seconds = UPDATED_MAX_RUNTIME_IN_SECONDS ,
11291173 env = UPDATED_ENVIRONMENT ,
11301174 network_config = UPDATED_NETWORK_CONFIG ,
1131- enable_cloudwatch_metrics = DISABLE_CLOUDWATCH_METRICS ,
1175+ enable_cloudwatch_metrics = ENABLE_CLOUDWATCH_METRICS ,
1176+ enable_automatic_dashboard = ENABLE_AUTOMATIC_DASHBOARD ,
11321177 role = UPDATED_ROLE ,
11331178 )
11341179
0 commit comments