Skip to content

Commit 5e84eaf

Browse files
committed
PR review comments
1 parent bc41862 commit 5e84eaf

File tree

3 files changed

+36
-18
lines changed

3 files changed

+36
-18
lines changed

ads/aqua/modeldeployment/deployment.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888

8989
from ads.model.model_metadata import ModelCustomMetadataItem
9090
from ads.telemetry import telemetry
91+
from ads.common.decorator.threaded import thread_pool
9192

9293
class AquaDeploymentApp(AquaApp):
9394
"""Provides a suite of APIs to interact with Aqua model deployments within the Oracle
@@ -790,17 +791,15 @@ def _create_deployment(
790791
.with_runtime(container_runtime)
791792
).deploy(wait_for_completion=False)
792793

793-
794-
795794
deployment_id = deployment.id
796795
logger.info(
797-
f"Aqua model deployment {deployment_id} created for model {aqua_model_id}."
796+
f"Aqua model deployment {deployment_id} created for model {aqua_model_id}. Work request Id is {deployment.dsc_model_deployment.workflow_req_id}"
798797
)
799-
800-
self.get_deployment_status(
801-
model_deployment_id=deployment_id,
802-
work_request_id=deployment.dsc_model_deployment.workflow_req_id,
803-
model_type=model_type)
798+
799+
thread_pool.submit( self.get_deployment_status ,
800+
deployment_id,
801+
deployment.dsc_model_deployment.workflow_req_id,
802+
model_type)
804803

805804
# we arbitrarily choose last 8 characters of OCID to identify MD in telemetry
806805
telemetry_kwargs = {"ocid": get_ocid_substring(deployment_id, key_len=8)}
@@ -1325,7 +1324,6 @@ def list_shapes(self, **kwargs) -> List[ComputeShapeSummary]:
13251324
for oci_shape in oci_shapes
13261325
]
13271326

1328-
@threaded()
13291327
def get_deployment_status(self,model_deployment_id: str, work_request_id : str, model_type : str) -> None:
13301328
"""Waits for the data science model deployment to be completed and log its status in telemetry.
13311329

ads/model/service/oci_datascience_model_deployment.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -233,11 +233,9 @@ def create(
233233
response = self.client.create_model_deployment(create_model_deployment_details)
234234
self.update_from_oci_model(response.data)
235235
logger.info(f"Creating model deployment `{self.id}`.")
236-
print(f"Model Deployment OCID: {self.id}")
237236

237+
self.workflow_req_id = response.headers.get("opc-work-request-id", None)
238238
if wait_for_completion:
239-
self.workflow_req_id = response.headers.get("opc-work-request-id", None)
240-
241239
try:
242240
DataScienceWorkRequest(self.workflow_req_id).wait_work_request(
243241
progress_bar_description="Creating model deployment",
@@ -287,10 +285,8 @@ def deactivate(
287285
response = self.client.deactivate_model_deployment(
288286
self.id,
289287
)
290-
288+
self.workflow_req_id = response.headers.get("opc-work-request-id", None)
291289
if wait_for_completion:
292-
self.workflow_req_id = response.headers.get("opc-work-request-id", None)
293-
294290
try:
295291
DataScienceWorkRequest(self.workflow_req_id).wait_work_request(
296292
progress_bar_description="Deactivating model deployment",
@@ -355,10 +351,9 @@ def delete(
355351
response = self.client.delete_model_deployment(
356352
self.id,
357353
)
358-
354+
355+
self.workflow_req_id = response.headers.get("opc-work-request-id", None)
359356
if wait_for_completion:
360-
self.workflow_req_id = response.headers.get("opc-work-request-id", None)
361-
362357
try:
363358
DataScienceWorkRequest(self.workflow_req_id).wait_work_request(
364359
progress_bar_description="Deleting model deployment",

tests/unitary/with_extras/aqua/test_deployment.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
from importlib import reload
1212
from unittest.mock import MagicMock, patch
1313

14+
from ads.aqua.modeldeployment.constants import DEFAULT_POLL_INTERVAL, DEFAULT_WAIT_TIME
15+
from ads.model.service.oci_datascience_model_deployment import OCIDataScienceModelDeployment
1416
import oci
1517
import pytest
1618
from oci.data_science.models import (
@@ -2282,3 +2284,26 @@ def test_validate_multimodel_deployment_feasibility_positive_single(
22822284
total_gpus,
22832285
"test_data/deployment/aqua_summary_multi_model_single.json",
22842286
)
2287+
2288+
def test_get_deployment_status(self) :
2289+
deployment_id = "fakeid.datasciencemodeldeployment.oc1.iad.xxx"
2290+
work_request_id = "fakeid.workrequest.oc1.iad.xxx"
2291+
model_type = "custom"
2292+
2293+
with patch(
2294+
"ads.model.service.oci_datascience_model_deployment.DataScienceWorkRequest.__init__"
2295+
) as mock_ds_work_request:
2296+
mock_ds_work_request.return_value = None
2297+
with patch(
2298+
"ads.model.service.oci_datascience_model_deployment.DataScienceWorkRequest.wait_work_request"
2299+
) as mock_wait:
2300+
self.app.get_deployment_status(
2301+
deployment_id, work_request_id, model_type
2302+
)
2303+
2304+
mock_ds_work_request.assert_called_with("test")
2305+
mock_wait.assert_called_with(
2306+
progress_bar_description='Creating model deployment',
2307+
max_wait_time=DEFAULT_WAIT_TIME,
2308+
poll_interval=DEFAULT_POLL_INTERVAL
2309+
)

0 commit comments

Comments
 (0)