argo-workflows icon indicating copy to clipboard operation
argo-workflows copied to clipboard

More concise display names for looped steps

Open james-simpson opened this issue 2 years ago • 10 comments

Summary

I'd like to be able to customise the step name for a looped/fan out step generated by withItems/withParam. At the moment, the step name doesn't seem to be templatable - I get an error like 'must consist of lower case alphanumeric characters' when trying to submit the workflow in the UI.

E.g. could we do something like this, with name: "{{item}}":

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: loops-
spec:
  entrypoint: loop-example
  templates:
  - name: loop-example
    steps:
    - - name: "{{item}}"
        template: whalesay
        arguments:
          parameters:
          - name: message
            value: "{{item}}"
        withItems:
        - item-1
        - item-2
...

Maybe the best way to do it could be a separate templatable displayName field than overrides name in the UI if provided?

Use Cases

We're using Argo Workflows to run end to end tests in parallel and it would be nice to customise the name of each fanned out step in the UI.

What we currently see:

parallel-steps-1

or

parallel-steps-2

With custom/templated names we could see at a glance which scenario failed, and could easily find and click into a particular scenario we care about.

james-simpson avatar Jun 09 '22 09:06 james-simpson

Same issue

CRASH-Tech avatar Jul 12 '22 21:07 CRASH-Tech

I got a similar issue - which I think is close enough it probably doesn't warrant its own issue.

I got very long parameters (a yaml blob) for some dynamic fan out jobs. For those the names become extremely long. Where I only really need 1 argument in the name/visible in the ui, and the rest visible in the "inputs/outputs" tab.

Considering the max length of these arguments is around 256kb, I think it's a bit much to stick all of them in the generated name 😀

//edit - and I just realized in the pod type it just uses the short names, but in the step type it includes all parameters.

andaag avatar Oct 24 '22 08:10 andaag

Same issue

prakhar47b avatar Dec 30 '22 12:12 prakhar47b

same

ehellmann-nydig avatar Mar 30 '23 15:03 ehellmann-nydig

Same issue

simonartige avatar Aug 16 '23 11:08 simonartige

Same issue

sfc-gh-rpeng avatar Sep 25 '23 20:09 sfc-gh-rpeng

Potentially related: #2871

agilgur5 avatar Nov 05 '23 01:11 agilgur5

same

JTarball avatar Nov 24 '23 18:11 JTarball

Same underlying issue. Generated displayNames result in very long workflow.failures elements which in turn are causing unavoidable env variable size limitations.

swzy avatar Jan 09 '24 18:01 swzy

At the risk of sounding repetitive ... same issue for me.

bhill74 avatar Jan 19 '24 16:01 bhill74

Same issue here. Couldn't we use some annotation to use just on the UI? I believe Kubeflow uses pipelines.kubeflow.org/task_display_name in the same way. I don't think we need a custom template name, we just need to customize how a pod name is displayed in the argo-server workflow ui. What do you think?

stefanondisponibile avatar Jul 24 '24 15:07 stefanondisponibile