Ejemplo n.º 1
0
    def GetBento(self, request, context=None):
        try:
            # TODO: validate request
            bento_metadata_pb = self.bento_metadata_store.get(
                request.bento_name, request.bento_version
            )
            if request.bento_version.lower() == 'latest':
                logger.info(
                    'Getting latest version %s:%s',
                    request.bento_name,
                    bento_metadata_pb.version,
                )

            if bento_metadata_pb:
                return GetBentoResponse(status=Status.OK(), bento=bento_metadata_pb)
            else:
                return GetBentoResponse(
                    status=Status.NOT_FOUND(
                        "BentoService `{}:{}` is not found".format(
                            request.bento_name, request.bento_version
                        )
                    )
                )
        except BentoMLException as e:
            logger.error("RPC ERROR GetBento: %s", e)
            return GetBentoResponse(status=e.status_proto)
Ejemplo n.º 2
0
    def GetBento(self, request, context=None):
        try:
            # TODO: validate request
            bento_pb = self.bento_metadata_store.get(request.bento_name,
                                                     request.bento_version)
            if request.bento_version.lower() == 'latest':
                logger.info(
                    'Getting latest version %s:%s',
                    request.bento_name,
                    bento_pb.version,
                )

            if bento_pb:
                if bento_pb.uri.type == BentoUri.S3:
                    bento_pb.uri.s3_presigned_url = self.repo.get(
                        bento_pb.name, bento_pb.version)
                return GetBentoResponse(status=Status.OK(), bento=bento_pb)
            else:
                return GetBentoResponse(status=Status.NOT_FOUND(
                    "BentoService `{}:{}` is not found".format(
                        request.bento_name, request.bento_version)))
        except BentoMLException as e:
            logger.error("RPC ERROR GetBento: %s", e)
            return GetBentoResponse(status=e.status_proto)
        except Exception as e:  # pylint: disable=broad-except
            logger.error("RPC ERROR GetBento: %s", e)
            return GetBentoResponse(status=Status.INTERNAL())
Ejemplo n.º 3
0
 def GetBento(self, request, context=None):
     try:
         # TODO: validate request
         bento_metadata_pb = self.bento_metadata_store.get(
             request.bento_name, request.bento_version)
         if bento_metadata_pb:
             return GetBentoResponse(status=Status.OK(),
                                     bento=bento_metadata_pb)
         else:
             return GetBentoResponse(status=Status.NOT_FOUND(
                 "Bento `{}:{}` is not found".format(
                     request.bento_name, request.bento_version)))
     except BentoMLException as e:
         logger.error("INTERNAL ERROR: %s", e)
         return GetBentoResponse(status=Status.INTERNAL(str(e)))
Ejemplo n.º 4
0
def create_yatai_service_mock(repo_storage_type=BentoUri.LOCAL):
    bento_pb = Bento(name='bento_test_name', version='version1.1.1')
    if repo_storage_type == BentoUri.LOCAL:
        bento_pb.uri.uri = '/fake/path/to/bundle'
    bento_pb.uri.type = repo_storage_type
    api = BentoServiceMetadata.BentoServiceApi(name='predict')
    bento_pb.bento_service_metadata.apis.extend([api])
    get_bento_response = GetBentoResponse(bento=bento_pb)

    yatai_service_mock = MagicMock()
    yatai_service_mock.GetBento.return_value = get_bento_response
    return yatai_service_mock
Ejemplo n.º 5
0
def create_yatai_service_mock(repo_storage_type=BentoUri.LOCAL):
    bento_pb = Bento(name=TEST_DEPLOYMENT_BENTO_NAME,
                     version=TEST_DEPLOYMENT_BENTO_VERSION)
    if repo_storage_type == BentoUri.LOCAL:
        bento_pb.uri.uri = TEST_DEPLOYMENT_BENTO_LOCAL_URI
    bento_pb.uri.type = repo_storage_type
    api = BentoServiceMetadata.BentoServiceApi(name=TEST_BENTO_API_NAME)
    bento_pb.bento_service_metadata.apis.extend([api])
    get_bento_response = GetBentoResponse(bento=bento_pb)

    yatai_service_mock = MagicMock()
    yatai_service_mock.GetBento.return_value = get_bento_response

    return yatai_service_mock