-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
can verify the MR manifest with the KF 1.9.rc0 #90
Comments
I've tested with |
Hi @tarilabs , Which notebook image did you use to test? Thanks Tian |
we align with Google MLMD here: https://pypi.org/project/ml-metadata/1.14.0/#files so it's mainly deriving from supported python versions from that dependency. But thank you for mentioning this, we should probably |
I tried 2 ways to have a Python 3.10 environment in order to pip install model-registry which requires Python version < 3.11 >3.8 I have: kubeflow 1.9.0-rc.0
And then I used them to try to reproduce the results of the sample codes on https://www.kubeflow.org/docs/components/model-registry/getting-started/ (the steps on https://www.kubeflow.org/docs/components/model-registry/installation/ are ok.) Both have the same problem:
|
@tiansiyuan the reproducer is missing connection details, and the error shows MLMD library unable to connect to the gRPC service. Are you sure you are using the correct connection details, as mentioned in the tutorial ? The tutorial shows a way to progressively ensure the MR is up, so is that part working? For the Python version problem, and I would like to underline the requirement is coming from the MLMD library, you could also try with this workaround: https://github.com/kubeflow/model-registry/pull/116/files#diff-6b074bce6a463d7cd6b69e5b1901d4d48c6ff2cd150a40ce849f7a99cb68bce4R105 if you are in the scenario described in the disclaimer notice. Hope that helps! |
This part works, as illustrated on https://www.kubeflow.org/docs/components/model-registry/installation/
I followed the steps on https://www.kubeflow.org/docs/components/model-registry/getting-started/ |
@tiansiyuan awesome, so it seems a connection issue between your notebook (which seems to be inside a VM, so not sure about that setup...). This makes me believe I should add a:
My suggestion atm would be to try the workaround of the Python version constrained by the library, as per my previous comment, in a standard Notebook. Hope this helps! |
To clarify, the notebook I use is a Kubeflow notebook, looks like: By the way, there are something not accurate on https://www.kubeflow.org/docs/components/model-registry/installation/, like:
|
The latest version of ml-metadata is 1.15.0, it supports python 3.9/3.10/3.11. |
this is being corrected with https://github.com/kubeflow/website/pull/3740/files#diff-c3b16833ded8b5282aa1d0c8f6caf09c31b1e44b47f27086757b195a9031f9e8R26 as the decision for Alpha components (such as model registry) not to be included by default was determined in later KF community meetings. You are welcome to suggest further corrections on that open PR / other PRs if something you believe still missing.
per above.
interesting assertion because here: https://pypi.org/project/ml-metadata/1.15.0/#files Thanks for the feedback @tiansiyuan I'm curious to hear if you tried out the workaround I mentioned in #90 (comment) |
as mentioned in my previous comments it does not, as this project/reproducer demonstrates: https://github.com/tarilabs/demo20240601-mlmdversions I believe for MLMD 1.15.0 they advertise on pypi for >=3.9, but they don't distribute for anything >=3.11, so pragmatically that is available ONLY for 3.9/3.10 for as far as I can see. Let me know if you believe I missed anything; hope this clarifies. |
Yes, I tried to If I ERROR: Could not find a version that satisfies the requirement ml-metadata==1.15.0 (from versions: 0.12.0.dev0, 0.13.0.dev0, 0.13.1.dev0) I will try your workaround and let you know. Thanks you @tarilabs ! |
Hi @tarilabs I tried the workaround: https://github.com/kubeflow/model-registry/pull/116/files#diff-6b074bce6a463d7cd6b69e5b1901d4d48c6ff2cd150a40ce849f7a99cb68bce4R105 And got the following result: Successfully installed absl-py-1.4.0 attrs-21.4.0 ml-metadata-1.14.0+remote.1 Successfully installed model-registry-0.2.1a1 Then, |
@tiansiyuan I'm glad to hear you concur about MLMD requirements and that the workaround is applicable to your scenario and that it works. For the "user token" Edit: pardon me the correct method for connection is: registry = ModelRegistry(server_address="model-registry-service.kubeflow.svc.cluster.local", port=9090, author="mmortari", is_secure=False) which works on my end with "0.2.1a1". |
On a Python 3.11.6 env, with the following packages installed:
I still have the timeout issue. |
That's very strange @tiansiyuan 🤔 looks like a connection issue between the Notebook and the service, on your setup. I've double-checked again, and per this screenshot, it's working as expected on my end: do you want to try the curl command from within your Notebook?
As you can see in screenshot, my vanilla Notebook just connect as expected to model registry per tutorial, I'm showing both going through using python client and another tab to demonstrate I can reach rest api, as expected. Note-to-self, environment details: |
To me this shows some difference in the KF platform on your setup, or something else might be influencing in your Kubernetes cluster used. Could you try using the same Notebook image (v1.8.0) as per my details expansion, just to be sure? Otherwise I'm short on ideas atm. |
I just created a notebook using image And run the command and got the same result: upstream connect error or disconnect/reset before headers. retried and the latest reset reason: connection failure |
@tiansiyuan thanks, so all else equal, can't think of something beyond KF at play. Can you share details of which Kubernetes environment are you using? |
I was using Microk8s 1.30 on a Ubunut 20.04. ecs-user@vm-a:~$ kubectl version
Client Version: v1.30.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.1
ecs-user@vm-a:~$ kustomize version
v5.2.1
ecs-user@vm-a:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal I also tried on a VMware TKGS cluster with a Python 3.10 env and the workaround for Python 3.11, I also reproduced the timeout issue, both gRPC and RESTful API: $ kubectl version
Client Version: v1.29.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.25.7+vmware.3-fips.1
WARNING: version difference between client (1.29) and server (1.25) exceeds the supported minor version skew of +/-1 |
@tiansiyuan I believe on your testing cluster since network policies are enforced by default, you need this: kubeflow/manifests#2724 |
@tarilabs Yes! it works for me. |
However, when I follow the example code on https://www.kubeflow.org/docs/components/model-registry/getting-started/
I've got:
This seems easy to solve. |
|
the 2 tutorials in "getting started" are not necessarily strongly tied together, but fair point I've added a follow-up task into: #109 (comment) I'm glad to hear that solved your connection issue @tiansiyuan and thanks for all these feedback! |
They are on the same page: https://www.kubeflow.org/docs/components/model-registry/getting-started/ Thank you for your help and patience. @tarilabs |
I tried the workaround Python 3.11.9 on Kubeflow 1.9.0-rc.1 on Microk8s v1.28.9. It works. Just gives warning:
|
as discussed on the KF bi-weekly 2024-06-10, closing this issue as we have at least 2 diff k8s environment tested with KF 1.9 rc (s) (we will open new ones if a specific issue or bug is detected) |
based on return-from-experience from kubeflow/model-registry#90 (comment) Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com>
* add suggestions how to dry-run from notebook based on return-from-experience from kubeflow/model-registry#90 (comment) Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com> * refresh by pin to latest v0.2.2-alpha Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com> * pin MR python client version too Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com> * update with required arg is_secure=False Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com> * align model-version used in the tutorial kubeflow/model-registry#109 (comment) Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com> --------- Signed-off-by: Matteo Mortari <matteo.mortari@gmail.com>
[pull] main from kubeflow:main
No description provided.
The text was updated successfully, but these errors were encountered: