argoproj / argo-workflows

Workflow Engine for Kubernetes
https://argo-workflows.readthedocs.io/
Apache License 2.0
15.11k stars 3.21k forks source link

feat(controller): support cap on retryStrategy backoff. Fixes #13772 #13782

Open chengjoey opened 1 month ago

chengjoey commented 1 month ago

Fixes #13772

Motivation

support cap on retryStrategy backoff

Modifications

  1. add cap filed on retryStrategy.Backoff
  2. use cap as retry duration if duration with factor > cap

Verification

unit test

eiriklid commented 1 month ago

Do you know why "CI / Codegen (pull_request)" fails @chengjoey ?

Joibel commented 1 month ago

Do you know why "CI / Codegen (pull_request)" fails @chengjoey ?

The failure in CI is because make codegen -B hasn't been run locally, or at least the result of doing that hasn't been added to the commit. (It has partially been done, as some of the generated changes are in this).

chengjoey commented 1 month ago

The failure in CI is because make codegen -B hasn't been run locally, or at least the result of doing that hasn't been added to the commit. (It has partially been done, as some of the generated changes are in this).

hi @Joibel , I made sure I ran make coegen locally and added the relevant changes to the commit

https://github.com/argoproj/argo-workflows/blob/cd87c504951a022cf5cd4fd2b4e0a98bdb2df1d9/Makefile#L158

There are some strange things when I execute this step locally. I need to manually add v3 before executing this step, otherwise an error will be reported

https://github.com/argoproj/argo-workflows/blob/cd87c504951a022cf5cd4fd2b4e0a98bdb2df1d9/pkg/apiclient/workflow/workflow.proto#L6

Am I missing the correct prefix step

Joibel commented 1 month ago

The failure in CI is because make codegen -B hasn't been run locally, or at least the result of doing that hasn't been added to the commit. (It has partially been done, as some of the generated changes are in this).

hi @Joibel , I made sure I ran make coegen locally and added the relevant changes to the commit

https://github.com/argoproj/argo-workflows/blob/cd87c504951a022cf5cd4fd2b4e0a98bdb2df1d9/Makefile#L158

There are some strange things when I execute this step locally. I need to manually add v3 before executing this step, otherwise an error will be reported

https://github.com/argoproj/argo-workflows/blob/cd87c504951a022cf5cd4fd2b4e0a98bdb2df1d9/pkg/apiclient/workflow/workflow.proto#L6

Am I missing the correct prefix step

make codegen is the hardest thing to get working in the build process, so I'm not surprised that you're having trouble with it. You're not the first person to struggle with it. My favourite way of getting it to work locally is to use devcontainers so if you're not doing that and haven't tried, I would give that a go. If you are doing that already, perhaps recreating the devcontainer from scratch will help.

You can verify what the CI is complaining about here, which I got to by finding the failing check in the list of checks and hitting the Details button. It shows how make codegen has been run by CI and then there are differences in the resulting files.

I don't quite follow where you need to add v3 from your description, but if you need to edit anything to make this work, something isn't right. What you generate locally must match what CI generates or you get some errors. None of the errors look like something related to a v3 path.

Please note: the -B in make codegen -B may be important here (it ensures everything is rebuilt), so if you just did a plain make codegen try again with -B, and make yourself a nice beverage whilst your computer whirrs away for a while.

chengjoey commented 1 month ago

Please note: the -B in make codegen -B may be important here

thanks @Joibel , it worked!