Commit Graph

10 Commits

Author SHA1 Message Date
Alyssa Goins 0d857b6f8a
feat(backend/sdk): support PipelineTaskFinalStatus input (#11953)
Add support for exit handlers to take input PipelineTaskFinalStatus.

Signed-off-by: agoins <alyssacgoins@gmail.com>
2025-06-06 19:01:16 +00:00
Alyssa Goins 9245739f6f
feat(backend): parameterize retryStrategy input in Argo workflow (#11861)
Prior to this commit, there was a workflow template added for every unique
retryStrategy setting. This is now consolidates to a single retryStrategy
template.

Signed-off-by: agoins <alyssacgoins@gmail.com>
2025-05-07 19:14:39 +00:00
Michael ed828b513a
feat(backend/sdk): enable dsl.Collected for parameters & artifacts (#11725)
* feat(backend/sdk): enable dsl.Collected for params & artifacts

Signed-off-by: zazulam <m.zazula@gmail.com>

* feat(backend): collect through loops & dags

Signed-off-by: zazulam <m.zazula@gmail.com>

To enable users to use loops similar to subdags, the initial collecting
implementation went only 1 layer deep of loops/subdags. This
implementation serves to handle multifacted approaches of pipelines that
users can generate.

---------

Signed-off-by: zazulam <m.zazula@gmail.com>
2025-05-05 22:55:37 +00:00
Humair Khan fd1b48b471
feat(backend/sdk): Add input parameterization for various k8s resources (#11770)
* add backend support for k8s platform inputs

This change adds driver support for input parameter support for the
kubernetes platform spec. Input resolution change is extracted and made
more generic so it may be re-used when building out the container spec
for the k8s config.

Also add unit tests for constant & runtime input parameters.
TaskOutput parameter support are omitted due to a lack of appropriate
mlmd mock framework.

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>

* add sdk implementation for k8s params inputs

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>

* add tests for k8s input params

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>

* add setup/teardown of prereqs and secret tests

and update/re-enable secret env tests

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>

* have kfp sample tests use local python pkgs

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>

* use a better configmap k8s name input...

Add support for multiple input types for pull secrets.
Clarify toleration docstring
Remove unnecessary resolve function

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>

---------

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>
2025-03-28 20:30:29 +00:00
Matt Prahl 0afb12d6a7
Allow system.Model artifacts in the Modelcar format (#11674)
This skips uploading the model to S3 when the model URI starts with
oci://.

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
2025-02-25 22:13:08 +00:00
Michael f7c0616db7
fix(backend): parallelFor resolve upstream inputs. Fixes #11520 (#11627)
Signed-off-by: zazulam <m.zazula@gmail.com>
2025-02-21 16:54:43 +00:00
Matt Prahl cc1c435f1e
feat(backend): Add support for importing models stored in the Modelcar format (sidecar) (#11606)
This allows dsl.import to leverage Modelcar container images in an OCI
repository. This works by having an init container prepull the image and
then adding a sidecar container when the launcher container is running.
The Modelcar container adds a symlink to its /models directory in an
emptyDir volume that is accessible by the launcher container. Once the
launcher is done running the user code, it stops the Modelcar
containers.

This approach has the benefit of leveraging image pull secrets
configured on the Kubernetes cluster rather than require separate
credentials for importing the artifact. Additionally, no data is copied
to the emptyDir volume, so the storage cost is just pulling the Modelcar
container image on the Kubernetes worker node.

Note that once Kubernetes supports OCI images as volume mounts for
several releases, consider replacing the init container with that
approach.

This also adds a new environment variable of PIPELINE_RUN_AS_USER to
set the runAsUser on all Pods created by Argo Workflows.

Resolves:
https://github.com/kubeflow/pipelines/issues/11584

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
2025-02-19 19:02:42 +00:00
Matt Prahl 6a13f4bad0
feat(backend): Add support for job and task placeholders in the KFP backend (#11599)
This adds support for the following placeholders in the KFP backend:

- dsl.PIPELINE_JOB_NAME_PLACEHOLDER
- dsl.PIPELINE_JOB_RESOURCE_NAME_PLACEHOLDER
- dsl.PIPELINE_JOB_ID_PLACEHOLDER
- dsl.PIPELINE_TASK_NAME_PLACEHOLDER
- dsl.PIPELINE_TASK_ID_PLACEHOLDER

Resolves:
https://github.com/kubeflow/pipelines/issues/10453

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
2025-02-10 22:10:43 +00:00
Alex c5b787aacc
feat(backend): implement subdag output resolution (#11196)
* fix(backend): implement subdag output resolution

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>

* Add support for subdags of subdags

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>

* handle edge case

Signed-off-by: zazulam <m.zazula@gmail.com>
Co-authored-by: droctothorpe <mythicalsunlight@gmail.com>

* Handle artifact outputs as well

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>
Co-authored-by: edmondop <edmondo.porcu@gmail.com>

* Simplify parameter handling logic

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>

* Begin decomposition

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>

* Add support for multiple artifacts and params

Signed-off-by: Tyler Kalbach <tkalbach@athenahealth.com>

* Implement large tests for subdagio

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>

* Address PR comments & handle oneof

Signed-off-by: zazulam <m.zazula@gmail.com>
Co-authored-by: droctothorpe <mythicalsunlight@gmail.com>

* update backend metadata client test

Signed-off-by: zazulam <m.zazula@gmail.com>

* Enable nested pipeline IO large tests in CI

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>

* Execute narrow lookup before broad task lookup

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>

* reimplement getDAGTasks to address edge cases

Signed-off-by: zazulam <m.zazula@gmail.com>
Co-authored-by: droctothorpe <mythicalsunlight@gmail.com>

* handle parallelfor in getDAGTask

Signed-off-by: zazulam <m.zazula@gmail.com>
Co-authored-by: droctothorpe <mythicalsunlight@gmail.com>

* Check if iterationIndex is nil

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>

* check iteration_count for parallel tasks

Signed-off-by: zazulam <m.zazula@gmail.com>
Co-authored-by: droctothorpe <mythicalsunlight@gmail.com>

* update comment & disable v(4) logs

Signed-off-by: zazulam <m.zazula@gmail.com>

* Address Chen's feedback

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Co-authored-by: zazulam <m.zazula@gmail.com>

* Clarify comment

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>

---------

Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Signed-off-by: zazulam <m.zazula@gmail.com>
Signed-off-by: Tyler Kalbach <tkalbach@athenahealth.com>
Co-authored-by: zazulam <m.zazula@gmail.com>
Co-authored-by: CarterFendley <carter.fendley@gmail.com>
Co-authored-by: edmondop <edmondo.porcu@gmail.com>
Co-authored-by: Tyler Kalbach <tkalbach@athenahealth.com>
2024-10-31 06:19:12 +00:00
Helber Belmiro 87184fd976
test: Moved kubeflow-pipelines-samples-v2 to GitHub Actions (#11048)
Signed-off-by: hbelmiro <helber.belmiro@gmail.com>
2024-07-31 07:51:05 +00:00