Skip to content
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

mount "data volumes" from "generic nodes defaults" on KFP components #2760

Closed
thesuperzapper opened this issue Jun 2, 2022 · 2 comments · Fixed by #2799
Closed

mount "data volumes" from "generic nodes defaults" on KFP components #2760

thesuperzapper opened this issue Jun 2, 2022 · 2 comments · Fixed by #2799
Assignees
Labels
component:pipeline-editor pipeline editor component:pipeline-runtime issues related to pipeline runtimes e.g. kubeflow pipelines kind:enhancement New feature or request
Milestone

Comments

@thesuperzapper
Copy link
Member

Background

Currently, we support mounting data volume on "generic nodes" while in a Kubeflow Pipeline.
I think we should also mount these volumes to the "KFP component nodes".

This will allow data to be exchanged between "generic" and "KFP" components through the mounted volumes, (at least partially solving #1765), and would also facilitate data exchange between "KFP" components themselves.

Implementation

For "generic nodes" we currently pass volume_mounts to the ExecuteFileOp constructor, which are looped-over and added with self.add_volume().

(NOTE: self.add_volume() works on ExecuteFileOp because it extends from kfp.dsl.ContainerOp)

Similarly, we can add these volumes to the ContainerOps generated from KFP component definitions by looping over the list with add_volume().

Considerations

  • We should rename the "Generic nodes defaults" to "Node Defaults" as they would no longer only be for generic nodes
    • (We may want to say in the description that "Data Volumes" are not applied to Airflow components)
  • We should add node-specific configs for "Data Volume" mounts on KFP components (like we already do for generic ones)
  • If we want, we can also apply the global "Environment Variables" using container.add_env_variable()
@thesuperzapper thesuperzapper added the kind:enhancement New feature or request label Jun 2, 2022
@ptitzler ptitzler added component:pipeline-editor pipeline editor component:pipeline-runtime issues related to pipeline runtimes e.g. kubeflow pipelines labels Jun 2, 2022
@ptitzler
Copy link
Member

ptitzler commented Jun 2, 2022

Good timing! This also came up in a recent discussion.

@ptitzler
Copy link
Member

ptitzler commented Jun 2, 2022

@lehrig, fyi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:pipeline-editor pipeline editor component:pipeline-runtime issues related to pipeline runtimes e.g. kubeflow pipelines kind:enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants