6
6
7
7
import os
8
8
import sys
9
+ import grpc
9
10
import tabulate
10
11
from typing import Tuple , List , Dict
11
12
from functools import lru_cache , partial
15
16
16
17
import nbox .utils as U
17
18
from nbox .auth import secret , AuthConfig , auth_info_pb
18
- from nbox .utils import logger
19
+ from nbox .utils import logger , lo
19
20
from nbox .version import __version__
20
21
from nbox import messages as mpb
21
22
# from nbox.messages import rpc, streaming_rpc
@@ -355,6 +356,7 @@ def upload_job_folder(
355
356
# creation of resources, we first need to check if any resource arguments are passed, if they are
356
357
def __common_resource (db : Resource ) -> Resource :
357
358
# get a common resource based on what the user has said, what the db has and defaults if nothing is given
359
+ logger .debug (lo ("db resources" , ** mpb .message_to_dict (db )))
358
360
resource = Resource (
359
361
cpu = str (resource_cpu ) or db .cpu or ospec .DEFAULT_RESOURCE .cpu ,
360
362
memory = str (resource_memory ) or db .memory or ospec .DEFAULT_RESOURCE .memory ,
@@ -377,6 +379,7 @@ def __common_resource(db: Resource) -> Resource:
377
379
)
378
380
)
379
381
resource = __common_resource (job_proto .resource )
382
+ logger .debug (lo ("resources" , ** mpb .message_to_dict (resource )))
380
383
out : Job = deploy_job (
381
384
init_folder = init_folder ,
382
385
job_id = job_proto .id ,
@@ -395,7 +398,7 @@ def __common_resource(db: Resource) -> Resource:
395
398
elif method == ospec .OperatorType .SERVING :
396
399
model_name = model_name or U .get_random_name ().replace ("-" , "_" )
397
400
logger .info (f"Model name: { model_name } " )
398
-
401
+
399
402
# serving_id, serving_name = _get_deployment_data(name = name, id = id, workspace_id = workspace_id)
400
403
serving_proto : Serving = nbox_serving_service_stub .GetServing (
401
404
ServingRequest (
@@ -404,6 +407,7 @@ def __common_resource(db: Resource) -> Resource:
404
407
)
405
408
)
406
409
resource = __common_resource (serving_proto .resource )
410
+ logger .debug (lo ("resources" , ** mpb .message_to_dict (resource )))
407
411
out : Serve = deploy_serving (
408
412
init_folder = init_folder ,
409
413
serving_id = serving_proto .id ,
@@ -638,19 +642,18 @@ def deploy(self, tag: str = "", feature_gates: Dict[str, str] = {}):
638
642
serving_group_id = self .serving_id ,
639
643
)
640
644
if tag :
641
- model .feature_gates .update ({
642
- "SetModelMetadata" : tag ,
643
- ** feature_gates ,
644
- })
645
- response : ModelProto = mpb .rpc (
646
- nbox_model_service_stub .Deploy ,
647
- ModelRequest (
648
- model = model ,
649
- auth_info = auth_info_pb (),
650
- ),
651
- "Could not deploy model" ,
652
- raise_on_error = True
653
- )
645
+ model .feature_gates .update ({"SetModelMetadata" : tag })
646
+ if feature_gates :
647
+ model .feature_gates .update (feature_gates )
648
+ logger .info (f"Deploying model { self .model_id } to deployment { self .serving_id } with tag: '{ tag } ' and feature gates: { feature_gates } " )
649
+ try :
650
+ nbox_model_service_stub .Deploy (ModelRequest (model = model , auth_info = auth_info_pb ()))
651
+ except grpc .RpcError as e :
652
+ logger .error (lo (
653
+ f"Could not deploy model { self .model_id } to deployment { self .serving_id } \n " ,
654
+ f"gRPC Code: { e .code ()} \n "
655
+ f" Error: { e .details ()} " ,
656
+ ))
654
657
655
658
656
659
################################################################################
0 commit comments