question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Add support for dsl.ResourceOp

See original GitHub issue

The KFP-Tekton compiler does not currently support dsl.ResourceOp since Tekton does not provide native support for manipulating Kubernetes resources.

Argo provides ResourceTemplate to support “resource operations” which the Kubeflow Pipelines SDK wrapped in class Resource/ResourceOp

@afrittoli suggested to implement a standard (set of) Resource Tasks that could be maintained under the tektoncd/catalog project which provides a library for often reused tasks.

Proposed implementation

In order to streamline that implementation from a compiler perspective, we could follow the precedence laid out by Argo’s ResourceTemplate, and create a Tekton Task with the following parameters:

  • action: ['get', 'create', 'apply', 'delete', 'replace', 'patch'] – the action to perform to the resource
  • merge_strategy: ['strategic', 'merge', 'json'] – the strategy used to merge a patch, defaults to “strategic”
  • success_condition: a label selector expression which describes the success condition
  • failure_condition: a label selector expression which describes the failure condition
  • manifest: the kubernetes manifest

Link to issue in tektoncd/catalog

Task(s) to manage kubernetes resources in a cluster #233

Additional information

Excerpt from KFP/Argo-vs-Tekton capabilities spreadsheet

KFP DSL (kfp.dsl) Argo Workflow (Current Implementation) Tekton v0.10.0 (Potential implementation) Notes Tekton Backend
ResourceOp ResourceTemplate Tasks to create, patch, delete, etc. resourcesThe tasks have to be defined, and they could live in the catalog. This is not natively supported by Tekton. Tekton could define a ResourceTask, similar to what Argo does with ResourceTemplate, but it is not required to implement ResourceOp. Workaround

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:15 (14 by maintainers)

github_iconTop GitHub Comments

1reaction
issue-label-bot[bot]commented, Mar 23, 2020

Issue-Label Bot is automatically applying the labels:

Label Probability
feature 0.99

Please mark this comment with 👍 or 👎 to give our bot feedback! Links: app homepage, dashboard and code for this bot.

0reactions
Tomclicommented, Apr 7, 2020

For now, we don’t have to set ownerReference for the users since it’s also not part of the Argo feature.

Read more comments on GitHub >

github_iconTop Results From Across the Web

kfp.dsl package — Kubeflow Pipelines documentation
add_node_selector_constraint (label_name: Union[str, kfp.dsl. ... supports big data outputs. ... The ops can be ResourceOp, VolumeOp, or ContainerOp.
Read more >
Manipulate Kubernetes Resources as Part of a Pipeline
ResourceOp. This class represents a step of the pipeline which manipulates Kubernetes resources. It implements Argo's resource template.
Read more >
How to use the kfp.dsl function in kfp - Snyk
To help you get started, we've selected a few kfp.dsl examples, based on popular ways ... Common operations such as adding # k8s...
Read more >
| notebook.community
%%capture !pip3 install ... import Template import kfp from kfp import components from kfp.components import func_to_container_op import kfp.dsl as dsl.
Read more >
kubeflow-11-持久化存储的操作VolumeOp - CSDN博客
VolumeOpclass VolumeOp(kfp.dsl. ... ResourceOp)Represents an op which will be translated into a ... It now supports big data outputs.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found