-
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
[feature] Support parameter inputs for V2 Kubernetes_platform Spec #10534
Comments
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
/remove lifecycle/stale |
Here is a example of an error we get trying to pass input parameters as argument to kfp component:
the error:
pip list | grep kfp |
/assign @gmfrasca |
I think this may have actually been resolved by #10883 , which was accepted and included in the very recently cut v2.8.0 SDK. Using that version, I am able to compile the example pipeline provided by @revit13 with no errors (and I am able to replicate the error seen with the previous SDK v2.7.0). I added a simple print statement to the With that said, I'm interested to hear from the community and/or @Tomcli to ensure this is truly resolved - the PR mentioned above doesn't seem to utilize the prescribed solution path from the Issue Description, as it only updates the SDK code and not the v2 driver, so want to make sure we're not missing anything here. |
proof of concept for supporting parameter inputs in kfp-kubernetes. We've added support first to secret.py. Ref: kubeflow#10534 Ref: kubeflow#10914
Exactly what you said -- it doesn't update driver / pod spec patch, so it hasn't solved the problem originally described. @DharmitD and I have taken a stab at solving it in opendatahub-io#71 Our solution doesn't take loops into account, so we would need to rework it a bit. But the POC works for setting a secret name to mount at pipeline run time. |
We talked about this in the KFP community call today, and @chensun suggested an alternative approach to using templating. He's going to post an example here (thanks Chen!) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
/assign @gregsheremeta |
actively working on this |
Feature Area
In V1, parameter inputs can be used within some Kubernetes container spec using the native Argo/Tekton variables. However, when we switched to the V2 driver approach, we don't update the input parameters in the Kubernetes_platform Spec. This is due to we haven't define a syntax for KFP variables in the Kubernetes_platform Spec context.
To support this, we need to:
Define a string representation for KFP variables in the kubernetes_platform spec context. Can be something like {{tasks.taskname.param_name}} for referring task parameters and {{loops.inputs.param_name}} for loop parameters. Here are the syntax references from the Argo and Tekton community:
https://argo-workflows.readthedocs.io/en/latest/variables/#steps-templates
https://tekton.dev/docs/pipelines/variables/#variables-available-in-a-task
Update the
initPodSpecPatch
function in the driver to replace these variables from MLMD before applying to the pod_spec_patch.What feature would you like to see?
What is the use case or pain point?
Is there a workaround currently?
Love this idea? Give it a 👍.
The text was updated successfully, but these errors were encountered: