-
Notifications
You must be signed in to change notification settings - Fork 123
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
Compiler work items #18
Comments
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! |
Hi @ckadner, can you add the below tasks as well. There are more tasks in the spreadsheet, but i think we should prioritize the basic functionalities before dive in deeper to the harder ones.
|
Also I think we need a way to itemize each of these tasks into individual issues so that people can claim and start working on it. |
@animeshsingh -- @Tomcli provided an update on the 16 remaining KFP FAILURE: basic_no_decorator.py - needs ExitHandlerOp, support pipeline with no decorator
FAILURE: compose.py - needs function to flatten nested pipeline
FAILURE: input_artifact_raw_value.py - needs S3 compatible artifact passing
FAILURE: param_substitutions.py - needs dsl.ResourceOp
FAILURE: resourceop_basic.py - needs dsl.ResourceOp
FAILURE: volume_snapshotop_rokurl.py - needs dsl.VolumeSnapshotOp
FAILURE: volume_snapshotop_sequential.py - needs dsl.VolumeSnapshotOp
FAILURE: volumeop_basic.py - needs dsl.VolumeOp
FAILURE: volumeop_dag.py - needs dsl.VolumeOp
FAILURE: volumeop_parallel.py - needs dsl.VolumeOp
FAILURE: volumeop_sequential.py - needs dsl.VolumeOp
FAILURE: loop_over_lightweight_output.py - needs Tekton dynamic looping
FAILURE: withparam_global.py - needs Tekton dynamic looping
FAILURE: withparam_global_dict.py - needs Tekton dynamic looping
FAILURE: withparam_output.py - needs Tekton dynamic looping
FAILURE: withparam_output_dict.py - needs Tekton dynamic looping Thanks @Tomcli for analyzing those! |
@animeshsingh -- I made a few temporary code changes so the compiler won't exit after the first exception but instead to log error messages. This should allow to capture all the known missing features which a pipeline is utilizing, instead of only reporting the first failure per pipeline. Then I ran the compile report script over 3 sets of pipelines:
Here are the respective outputs: Note 1: the totals do not add up to the sum of all errors, since each pipeline can "throw" multiple or no errors. Note 2: 1. Pipelines from KFP compiler
|
Thanks @ckadner. Summarizing the information above Averaging out currently, we have 41/84 successful - so ~50% Occurrences of NotImplementedError: Occurences of other Errors: |
@animeshsingh -- This is an update of compilation success/failure and failure reasons for KFP testdata and samples (4/14, incl. PR #92): 49/84 successful - so ~58% (increase of 8 more successful) 1. KFP
|
Update of the compilation success/failure status as of EOD 4/22: 1. KFP compiler testdata (the usual 30 pipelines)
2. KFP core samples
3. Pipeline samples contributed by 3rd-parties (/contrib/)
Overall success rate: 69/84 = 82% Occurences of NotImplementedError: Occurences of other Errors: |
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. |
This issue has been automatically closed because it has not had recent activity. Please comment "/reopen" to reopen it. |
This is an "umbrella issue" to capture planned work items related to the
TektonCompiler
:Pipeline
withTask
s instead of aTask
withsteps
to allow parallel execution (PR Generate Tekton Pipeline with Tasks #17)Task
s (issue Enable passing output parameters as inputs for subsequent Tasks #19, PR Task output parameters as input for subsequent tasks #27)0.11
to make use of APIv1beta1
(PR Task output parameters as input for subsequent tasks #27)dsl.VolumeOp
(add support for dsl.volumeOps #51)set_image_pull_secrets
(Add support for set_image_pull_secrets #54)conditions
(Add support for conditions #33)LoopArguments
(Extend compiler to support parallelFor with loop static params #67)LoopArguments
(Support for dynamic LoopArguments (not currently supported in Tekton) #82)ParallelFor
(Extend compiler to support parallelFor with loop static params #67)PipelineRun
spec (Add initial pipelinerun support #62)Workspace
s to share resources betweenTask
s (Add feature to showcase Tekton's workspace feature. #74)Specific template conversions:
Existing code that was copied from the KFP SDK compiler but temporarily commented out. See
_op_to_template.py
):dsl.ResourceOp
(Add support for dsl.ResourceOp #49)artifacts
parameters (Support artifact outputs #64)affinity
(Add more k8s resource support #65) (requiresPipelineRun
Add initial pipelinerun support #62)initContainers
(Add init_container support #50)pod_annotations
(Add transformer test for pod annotations and labels use case #76)pod_labels
(Add transformer test for pod annotations and labels use case #76)node selector
(Add more k8s resource support #65) (requiresPipelineRun
Add initial pipelinerun support #62)retries
(Extend compiler to support retries #48)sidecars
(Add support for sidecars #42)timeout
(Extend compiler to support timeout defining for pipeline tasks #46)tolerations
(Add more k8s resource support #65) (requiresPipelineRun
Add initial pipelinerun support #62)volumes
(add support for volumemounts #34)In terms of prioritization, we could look at how often these features are used in any of the KFP pipeline examples (see KFP samples test report).
Of the
88
dsl.pipeline
examples and samples found in thekubeflow/pipelines
repository54
fail:Update on KFP testdata compilation failure reasons as of Apr 3, 2020:
Mapping of features from Argo to Tekton:
General guidance to map KFP/Argo features to Tekton features can be found in the KFP, Argo and Tekton Comparision Spreadsheet maintained by @afrittoli
The text was updated successfully, but these errors were encountered: