From 71eb54c61b755e10b46693dc95c17a2dba556f0a Mon Sep 17 00:00:00 2001 From: Agrim Khanna Date: Tue, 12 Aug 2025 16:45:05 +0530 Subject: [PATCH 1/4] handling Model Deployment list for model group deployment type --- ads/aqua/modeldeployment/deployment.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/ads/aqua/modeldeployment/deployment.py b/ads/aqua/modeldeployment/deployment.py index 90f211af3..d3455400d 100644 --- a/ads/aqua/modeldeployment/deployment.py +++ b/ads/aqua/modeldeployment/deployment.py @@ -878,12 +878,28 @@ def list(self, **kwargs) -> List["AquaDeployment"]: ) if oci_aqua: - results.append( - AquaDeployment.from_oci_model_deployment( - model_deployment, self.region - ) + # skipping the AQUA model deployments that are created from model group + # TODO: remove this checker after AQUA deployment is integrated with model group + aqua_model_id = model_deployment.freeform_tags.get( + Tags.AQUA_MODEL_ID_TAG, UNKNOWN ) - + if ( + "datasciencemodelgroup" in aqua_model_id + or model_deployment.model_deployment_configuration_details.deployment_type + in ["UNKNOWN_ENUM_VALUE", "MODEL_GROUP", "SINGLE_MODEL_FLEX"] + ): + continue + try: + results.append( + AquaDeployment.from_oci_model_deployment( + model_deployment, self.region + ) + ) + except Exception as e: + logger.error( + f"There was an issue processing the list of model deployments . Error: {str(e)}", + exc_info=True, + ) # log telemetry if MD is in active or failed state deployment_id = model_deployment.id state = model_deployment.lifecycle_state.upper() From 361323bd84af29d660b12972562a539d145fcaf2 Mon Sep 17 00:00:00 2001 From: Agrim Khanna Date: Wed, 13 Aug 2025 14:51:41 +0530 Subject: [PATCH 2/4] PR review comments --- ads/aqua/constants.py | 3 +++ ads/aqua/modeldeployment/deployment.py | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ads/aqua/constants.py b/ads/aqua/constants.py index e64dc0d56..32d6a3d88 100644 --- a/ads/aqua/constants.py +++ b/ads/aqua/constants.py @@ -56,6 +56,9 @@ MODEL_BY_REFERENCE_OSS_PATH_KEY = "artifact_location" AQUA_CHAT_TEMPLATE_METADATA_KEY = "chat_template" +UNKNOWN_ENUM_VALUE = "UNKNOWN_ENUM_VALUE" +MODEL_GROUP = "MODEL_GROUP" +SINGLE_MODEL_FLEX = "SINGLE_MODEL_FLEX" CONSOLE_LINK_RESOURCE_TYPE_MAPPING = { "datasciencemodel": "models", diff --git a/ads/aqua/modeldeployment/deployment.py b/ads/aqua/modeldeployment/deployment.py index c28dcf922..3a0315edc 100644 --- a/ads/aqua/modeldeployment/deployment.py +++ b/ads/aqua/modeldeployment/deployment.py @@ -44,7 +44,9 @@ AQUA_MODEL_TYPE_SERVICE, AQUA_MULTI_MODEL_CONFIG, MODEL_BY_REFERENCE_OSS_PATH_KEY, + MODEL_GROUP, MODEL_NAME_DELIMITER, + SINGLE_MODEL_FLEX, UNKNOWN_DICT, ) from ads.aqua.data import AquaResourceIdentifier @@ -868,10 +870,11 @@ def list(self, **kwargs) -> List["AquaDeployment"]: aqua_model_id = model_deployment.freeform_tags.get( Tags.AQUA_MODEL_ID_TAG, UNKNOWN ) + UNKNOWN_ENUM_VALUE = "UNKNOWN_ENUM_VALUE" if ( "datasciencemodelgroup" in aqua_model_id or model_deployment.model_deployment_configuration_details.deployment_type - in ["UNKNOWN_ENUM_VALUE", "MODEL_GROUP", "SINGLE_MODEL_FLEX"] + in [UNKNOWN_ENUM_VALUE, MODEL_GROUP, SINGLE_MODEL_FLEX] ): continue try: @@ -885,6 +888,9 @@ def list(self, **kwargs) -> List["AquaDeployment"]: f"There was an issue processing the list of model deployments . Error: {str(e)}", exc_info=True, ) + raise AquaRuntimeError( + f"There was an issue processing the list of model deployments . Error: {str(e)}" + ) from e # log telemetry if MD is in active or failed state deployment_id = model_deployment.id From 6243ba73c0d88634d49f32128b93c34d1b640844 Mon Sep 17 00:00:00 2001 From: Agrim Khanna Date: Wed, 13 Aug 2025 14:56:48 +0530 Subject: [PATCH 3/4] PR review comments --- ads/aqua/modeldeployment/deployment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ads/aqua/modeldeployment/deployment.py b/ads/aqua/modeldeployment/deployment.py index 3a0315edc..b42d225f7 100644 --- a/ads/aqua/modeldeployment/deployment.py +++ b/ads/aqua/modeldeployment/deployment.py @@ -48,6 +48,7 @@ MODEL_NAME_DELIMITER, SINGLE_MODEL_FLEX, UNKNOWN_DICT, + UNKNOWN_ENUM_VALUE, ) from ads.aqua.data import AquaResourceIdentifier from ads.aqua.model import AquaModelApp @@ -870,7 +871,6 @@ def list(self, **kwargs) -> List["AquaDeployment"]: aqua_model_id = model_deployment.freeform_tags.get( Tags.AQUA_MODEL_ID_TAG, UNKNOWN ) - UNKNOWN_ENUM_VALUE = "UNKNOWN_ENUM_VALUE" if ( "datasciencemodelgroup" in aqua_model_id or model_deployment.model_deployment_configuration_details.deployment_type From 35c76b23d82317ee3c57e38de7a70026ab8c9dae Mon Sep 17 00:00:00 2001 From: Agrim Khanna Date: Wed, 13 Aug 2025 15:03:15 +0530 Subject: [PATCH 4/4] PR review comments --- ads/aqua/modeldeployment/deployment.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ads/aqua/modeldeployment/deployment.py b/ads/aqua/modeldeployment/deployment.py index b42d225f7..cbceab9cd 100644 --- a/ads/aqua/modeldeployment/deployment.py +++ b/ads/aqua/modeldeployment/deployment.py @@ -867,13 +867,8 @@ def list(self, **kwargs) -> List["AquaDeployment"]: if oci_aqua: # skipping the AQUA model deployments that are created from model group - # TODO: remove this checker after AQUA deployment is integrated with model group - aqua_model_id = model_deployment.freeform_tags.get( - Tags.AQUA_MODEL_ID_TAG, UNKNOWN - ) if ( - "datasciencemodelgroup" in aqua_model_id - or model_deployment.model_deployment_configuration_details.deployment_type + model_deployment.model_deployment_configuration_details.deployment_type in [UNKNOWN_ENUM_VALUE, MODEL_GROUP, SINGLE_MODEL_FLEX] ): continue