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

fix(backend): Use an Argo Workflow exit lifecycle hook for exit handlers #11470

Merged
merged 1 commit into from
Jan 10, 2025

Conversation

mprahl
Copy link
Contributor

@mprahl mprahl commented Dec 17, 2024

Description of your changes:

As described in #10917, exit handlers were implemented as dependent tasks that always ran within an Argo Workflow. The issue is that this caused the pipeline to have a succeeded status regardless of if the tasks within the exit handlers all succeeded.

This commit changes exit handlers to be exit lifecycle hooks on an Argo Workflow so that the overall pipeline status is not impacted.

Resolves:
#11405

Checklist:

Copy link

Hi @mprahl. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Copy link
Contributor

@hbelmiro hbelmiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/ok-to-test

@mprahl
Copy link
Contributor Author

mprahl commented Jan 2, 2025

@hbelmiro I rebased the PR and added an additional Argo compiler unit test.

Copy link
Contributor

@hbelmiro hbelmiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@google-oss-prow google-oss-prow bot added the lgtm label Jan 2, 2025
@google-oss-prow google-oss-prow bot removed the lgtm label Jan 9, 2025
@mprahl mprahl requested a review from hbelmiro January 9, 2025 16:31
@mprahl
Copy link
Contributor Author

mprahl commented Jan 9, 2025

@hbelmiro and @HumairAK I just rebased this PR.

@HumairAK HumairAK added this to the KFP 2.4.0 milestone Jan 9, 2025
Copy link
Contributor

@hbelmiro hbelmiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@google-oss-prow google-oss-prow bot added the lgtm label Jan 10, 2025
As described in kubeflow#10917, exit handlers were implemented as dependent
tasks that always ran within an Argo Workflow. The issue is that this
caused the pipeline to have a succeeded status regardless of if the
tasks within the exit handlers all succeeded.

This commit changes exit handlers to be exit lifecycle hooks on an
Argo Workflow so that the overall pipeline status is not impacted.

Resolves:
kubeflow#11405

Signed-off-by: mprahl <[email protected]>
@google-oss-prow google-oss-prow bot removed the lgtm label Jan 10, 2025
@mprahl mprahl requested review from HumairAK and hbelmiro January 10, 2025 15:35
@HumairAK
Copy link
Collaborator

wonderful thanks @mprahl !

I also verified the following scenarios:

  • parent pipeline has failure inside an exit task handler
  • nested pipelines has failure inside an exit task handler

and works as intended, great work!

/lgtm
/approve

Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: HumairAK

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 3059f7c into kubeflow:master Jan 10, 2025
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants