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

Map Argo variables to Tekton varaibles. #78

Closed
Tomcli opened this issue Apr 1, 2020 · 7 comments
Closed

Map Argo variables to Tekton varaibles. #78

Tomcli opened this issue Apr 1, 2020 · 7 comments

Comments

@Tomcli
Copy link
Member

Tomcli commented Apr 1, 2020

KFP uses Argo variables to refer artifact locations and exit ops status. Therefore, we want to map as much variables in Argo as possible since issues #64 and other pipelines assume those variable can be interpreted during execution.

As of today, Tekton variables $() only has inputs and outputs params on the task level. For other variables, we will try to map them with env variables using Kubernetes FieldRef Parameter.

However, many Argo variables are still not possible with Tekton variables and pure Kubernetes FieldRef Parameter. Thus, we will raise a warning for users to avoid using them in a pipeline.

@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the labels:

Label Probability
feature 0.92

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

@Tomcli
Copy link
Member Author

Tomcli commented Apr 1, 2020

/assign

@Tomcli
Copy link
Member Author

Tomcli commented Apr 2, 2020

Currently this is the equivalent variable matching i found.
argo -> tekton
{{inputs.parameters.%s}} -> $(inputs.params.%s)
{{outputs.parameters.%s}} -> $(results.%s.path)

Since we don't have other equivalent matching for the rest of the argo variables, we will prompt a warning when those argo variables are used. Since KFP also don't recommend to use Argo variables because it requires specific knowledge on Argo pipeline.

The other places argo variables are used is during artifact output path. We can workaround with this by creating our own s3/gcs tasks to parse artifact output path using environment variables. This way we don't have to rely on Tekton to replace those workflow variables during execution. However, this means we need to maintain our own s3/gcs task for artifact storing.

@ckadner
Copy link
Member

ckadner commented Apr 3, 2020

Is this what you meant with ...

Handler for checking Argo specific params, find equivalent for Tekton

in #18 (comment) ?

@Tomcli
Copy link
Member Author

Tomcli commented Apr 3, 2020

yes

@stale
Copy link

stale bot commented Jan 20, 2021

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.

@stale
Copy link

stale bot commented Jun 2, 2021

This issue has been automatically closed because it has not had recent activity. Please comment "/reopen" to reopen it.

@stale stale bot closed this as completed Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants