-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[sdk] parameters are ignored for pipelines generated with kfp-sdk 1.8.22 #10346
Comments
I experience the same issue. I observed in frontend, when it is a v1 pipeline, Run is created using v1beta1 api, and it works. I suspected this might be bug on backend when using v2beta1 api to create run with v1 pipeline instead of bug on sdk v2. When I check KFP database's However if I using sdk v1's |
Currently we do not support authoring and uploading with a combination of v1 and v2 SDKs. Please choose one of the version for your authoring and uploading experience. |
/cc @chensun |
In that case, could the team either help
As the outdated package dependencies in sdk v1 is blocking us updating other dependencies |
@jasonkit Feel free to create issues which identify the outdated package that needs to be updated. So it can be upgraded. Contributions are welcomed as well. |
I did this as a workaround. I simplified kfp-sdk 1.8.x to trigger v1 pipelines with parameters (this means using v1beta1 kfp endpoints, the same kfp REST endpoints that kfp-sdk 1.x uses) The obvious requirement is to know which pipelines are generated with kfp-sdk 1.x and which ones aren't so that the correct kfp REST endpoint is triggered. This means I'm simultaneously using kfp-sdk 2.x and a few bits from kfp-sdk 1.x. The end result looks like this: client = kfp.Client("http://...")
# new method, run_pipeline_v1beta1_sdk1() added with `patch_kfp_sdk2_client(), by porting and containizing the sdk1
client = patch_kfp_sdk2_client(client)
# invoke a pipeline compiled with kfp-sdk 1.x, using kfp-sdk 2.x, that is running in kfp 2.x
client.run_pipeline_v1beta1_sdk1(
"experiment-id",
pipeline_id="pipeline-id",
params=params, # params will work
) Since I did this I can try to do a PR fixing (and isolating) kfp.deprecated code, or I can share what I did and create a GitHub repository so that you can have |
@luminoso Regarding this question, please contact @connor-mccarthy to confirm if this change is acceptable. |
Environment
Steps to reproduce
To make it compatible with kfp-sdk 1.8.22 we just need to generate a yaml instead of json file
Upload your pipeline to kfp 2 with kfp-sdk 1.8.22
Run the pipeline using kfp-sdk 1.8.22 with params defined
Everything works as expected.
Expected result
params
. The defaultHello world
argument is used to run the pipeline.Which means that kfp-sdk 1.8.22 generated-pipeline arguments are ignored when invoked with kfp-sdk 2.x, even though parameters work as expected if webfronted is used.
Materials and Reference
I have to compile pipelines with kfp sdk 1.x due to taints and nodeselectors are not yet implemented in kfp-sdk 2.x: #9682 #9913
I could also use
kfp.deprecated.Client
but code is now half-brokenI can't also keep using kfp-sdk 1.x because package requirements are now do outdated that creates a mess for the rest of the project using other packages.
Impacted by this bug? Give it a 👍.
The text was updated successfully, but these errors were encountered: