cli icon indicating copy to clipboard operation
cli copied to clipboard

Show Param Values Added by Pipelines Controller for PipelineRun/TaskRun Describe

Open danielhelfand opened this issue 4 years ago • 15 comments

Feature request

The ability to see param names/values added by the pipelines controller as opposed to by the user when using tkn pipelinerun desc or tkn taskrun desc. The pipelines controller will add param values in the case of default values for params that are part of a Task or Pipeline.

If no value is declared for a param for a PipelineRun/TaskRun and the associated Task or Pipeline has default values for params, the default values are used and added to the PipelineRun/TaskRun status.

Currently, describe commands for PipelineRun/TaskRun only show param values that are part of the spec of a PipelineRun/TaskRun, but they should also show default values added by the controller.

See more in #1036 for discussion of this.

Use case

Seeing all param values that are part of a PipelineRun/TaskRun to aid with development/debugging PipelineRuns/TaskRuns.

UI Example

Name:        sleep1s-run-9sjsq
Namespace:   default
Task Ref:    sleep1s
Timeout:     1h0m0s
Labels:
 app.kubernetes.io/managed-by=tekton-pipelines
 tekton.dev/task=sleep1s

🌡️  Status

STARTED         DURATION     STATUS
2 minutes ago   13 seconds   Succeeded

📨 Input Resources

 No input resources

📡 Output Resources

 No output resources

⚓ Params
 NAME             VALUE
 ∙ defaultParam   defaultValue


🦶 Steps

 NAME      STATUS
 ∙ sleep   Completed
 ∙ echo2   Completed
 ∙ echo3   Completed
 ∙ echo4   Completed
 ∙ echo5   Completed

🚗 Sidecars

No sidecars

danielhelfand avatar Jul 15 '20 21:07 danielhelfand

Are we going to append the params where default is provided under params section or there will be seperate section for the params that are added by the controller. :thinking:

divyansh42 avatar Jul 16 '20 05:07 divyansh42

Are we going to append the params where default is provided under params section or there will be seperate section for the params that are added by the controller. thinking

I would guess keeping one section but having a way to say "this is what the user provided", this is what was "read" by the controller (aka default params). How exactly, we need to discuss / propose :wink:

vdemeester avatar Jul 16 '20 09:07 vdemeester

Can we follow UI something like this ?

⚓ Params
 NAME           TYPE     DESCRIPTION   DEFAULT VALUE   USER PROVIDED VALUE
 ∙ param1       string                 ---             test-value
 ∙ param2       string                 test-default    ---

Maybe we can have some better name for USER PROVIDED VALUE

divyansh42 avatar Jul 16 '20 18:07 divyansh42

I think if someone wants to see the default value for a param, they should use tkn task describe or tkn pipeline describe, which will show those values. I think for PipelineRuns/TaskRuns only the information used at run time is what should be shown. So as long as the name of the param and value are shown, I think that should work.

danielhelfand avatar Jul 16 '20 19:07 danielhelfand

@danielhelfand if I am not wrong, current functionality is same as you explained.

tkn task describe shows params and their corresponding default values which are present in the task. and if we go for tkn tr describe it shows those params only for which user has provided the value.

Example: Output for tkn t describe test-task

Name:        test-task
Namespace:   default

📨 Input Resources

 No input resources

📡 Output Resources

 No output resources

⚓ Params

 NAME       TYPE     DESCRIPTION   DEFAULT VALUE
 ∙ param1   string                 ---
 ∙ param2   string                 default2
 ∙ param3   string                 default3
 ∙ param4   string                 default4

🦶 Steps

 ∙ get-login-password

🗂  Taskruns

NAME           STARTED          DURATION     STATUS
test-taskrun   25 seconds ago   14 seconds   Succeeded

tkn t start test-task -p param1=test1 -p param2=test2

Output for tkn tr describe test-taskrun

Name:        test-task-run-cg2rj
Namespace:   default
Task Ref:    test-task
Timeout:     1h0m0s
Labels:
 app.kubernetes.io/managed-by=tekton-pipelines
 tekton.dev/task=test-task

🌡️  Status

STARTED         DURATION    STATUS
9 seconds ago   ---         Running(Pending)

📨 Input Resources

 No input resources

📡 Output Resources

 No output resources

⚓ Params

 NAME       VALUE
 ∙ param1   test1
 ∙ param2   test2

🦶 Steps

 NAME                   STATUS
 ∙ get-login-password   PodInitializing

🚗 Sidecars

No sidecars

Please let me know If I understood something different.

divyansh42 avatar Jul 16 '20 19:07 divyansh42

The difference would be that tkn taskrun describe or tkn pipelinerun describe would also show param default values under the param section even if the user has not specified these values. So it would also include values added by the controller, but would display them along with params specified by the user. For example:

Name:        test-task-run-cg2rj
Namespace:   default
Task Ref:    test-task
Timeout:     1h0m0s
Labels:
 app.kubernetes.io/managed-by=tekton-pipelines
 tekton.dev/task=test-task

🌡️  Status

STARTED         DURATION    STATUS
9 seconds ago   ---         Running(Pending)

📨 Input Resources

 No input resources

📡 Output Resources

 No output resources

⚓ Params

 NAME       VALUE
 ∙ param1   test1
 ∙ param2   test2
 ∙ param3   default3
 ∙ param4   default4

🦶 Steps

 NAME                   STATUS
 ∙ get-login-password   PodInitializing

🚗 Sidecars

No sidecars

danielhelfand avatar Jul 16 '20 19:07 danielhelfand

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

/close

Send feedback to tektoncd/plumbing.

tekton-robot avatar Aug 15 '20 19:08 tekton-robot

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with /close.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

tekton-robot avatar Aug 15 '20 19:08 tekton-robot

@tekton-robot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

/close

Send feedback to tektoncd/plumbing.

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.

tekton-robot avatar Aug 15 '20 19:08 tekton-robot

/lifecycle frozen

divyansh42 avatar Aug 16 '20 03:08 divyansh42

/reopen

divyansh42 avatar Aug 16 '20 03:08 divyansh42

@Divyansh42: Reopened this issue.

In response to this:

/reopen

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.

tekton-robot avatar Aug 16 '20 03:08 tekton-robot

Can I try to fix this?

GwonsooLee avatar Aug 18 '20 09:08 GwonsooLee

@GwonsooLee Yes, Please. Thanks :smile: If you want you can assign it to yourself :slightly_smiling_face:

divyansh42 avatar Aug 18 '20 10:08 divyansh42

/assign GwonsooLee

GwonsooLee avatar Aug 18 '20 11:08 GwonsooLee