kubeflow / manifests

A repository for Kustomize manifests
Apache License 2.0
772 stars 836 forks source link

Upgrade bentoml to 1.2.28 and 1.1.21 #2704

Closed lampajr closed 1 month ago

lampajr commented 1 month ago

Which issue is resolved by this Pull Request: As suggested https://github.com/kubeflow/manifests/pull/2693#issuecomment-2097665911 I am proposing to update betnoml manifests

Description of your changes:

Following the UPGRADE.md instructions I updated contrib/bentoml with the latest version content.

Checklist:

lampajr commented 1 month ago

Locally I am experiencing a failure running bentoml tests, in particular while issueing the curl to the fraud-detection pod. From the logs I see:

2024-05-07T08:38:31+0000 [ERROR] [api_server:1] Exception on /is_fraud [POST] (trace=fe8f5861ac58e7997bf04620e99e67ba,span=62350ba5fd974236,sampled=0)
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/bentoml/_internal/server/http_app.py", line 324, in api_func
    output = await api.func(input_data)
  File "/home/bentoml/bento/src/service.py", line 34, in is_fraud
    results = await asyncio.gather(*[_is_fraud(p, r, input_df) for p, r in zip(fraud_detection_preprocessors, fraud_detection_runners)])
  File "/home/bentoml/bento/src/service.py", line 28, in _is_fraud
    input_features = preprocessor.transform(input_df)
  File "/usr/local/lib/python3.10/site-packages/sklearn/utils/_set_output.py", line 140, in wrapped
    data_to_wrap = f(self, X, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/sklearn/compose/_column_transformer.py", line 800, in transform
    Xs = self._fit_transform(
  File "/usr/local/lib/python3.10/site-packages/sklearn/compose/_column_transformer.py", line 652, in _fit_transform
    transformers = list(
  File "/usr/local/lib/python3.10/site-packages/sklearn/compose/_column_transformer.py", line 349, in _iter
    transformers = [
  File "/usr/local/lib/python3.10/site-packages/sklearn/compose/_column_transformer.py", line 350, in <listcomp>
    replace_passthrough(*trans) for trans in self.transformers_
  File "/usr/local/lib/python3.10/site-packages/sklearn/compose/_column_transformer.py", line 345, in replace_passthrough
    if name not in self._name_to_fitted_passthrough:
AttributeError: 'ColumnTransformer' object has no attribute '_name_to_fitted_passthrough'

@juliusvonkohout any idea?

Anyway, let's see if the same error happens here in the GHA

juliusvonkohout commented 1 month ago

@yubozhao you need to maintain bentoml or we need to consider removing it from Kubeflow

juliusvonkohout commented 1 month ago

Maybe we need to upgrade from https://github.com/bentoml/Fraud-Detection-Model-Serving

juliusvonkohout commented 1 month ago

In the worst case you have to drop some test parts until it is working again. This is fine for /contrib stuff.

lampajr commented 1 month ago

Maybe we need to upgrade from https://github.com/bentoml/Fraud-Detection-Model-Serving

Yeah, maybe yes as it looks like it is using docker.io/bentoml/fraud_detection:o5smnagbncigycvj and from https://github.com/bentoml/Fraud-Detection-Model-Serving I don't see any change since last year

In the worst case you have to drop some test parts until it is working again. This is fine for /contrib stuff.

If this is acceptable, I think it is enough to skip the curl request.. all other checks should work. See https://github.com/kubeflow/manifests/pull/2704/commits/deaf47b77cf640541a04deb43157ec5266348ae5

juliusvonkohout commented 1 month ago

This is just /contrib which shall not block the release, so

/lgtm /approve

google-oss-prow[bot] commented 1 month ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: juliusvonkohout, lampajr

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[contrib/bentoml/OWNERS](https://github.com/kubeflow/manifests/blob/master/contrib/bentoml/OWNERS)~~ [juliusvonkohout] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
juliusvonkohout commented 1 month ago

/lgtm