Workflow Working Mechanism
The execution of workflow has two different running modes: DAG mode and StepByStep mode. In DAG mode, all steps in the workflow will execute concurrently. They will form a dependency graph for running according to the Input/Output in the step configuration automatically. If one workflow step has not met all its dependencies, it will wait for the conditions. In StepByStep mode, all steps will be executed in order. In KubeVela v1.2+, the defaut running mode is StepByStep. Currently, we do not support using DAG mode explicitly.
Workflow will retry steps and suspend for different reasons.
- If step fails too many times, the workflow will enter suspending state and stop retry.
- If step is waiting for manual approval, the workflow will enter suspending state immediately.
If the workflow step is waiting, the max backoff time is 60s, you can change it by setting in the of KubeVela controller.
If the workflow step is failed, the max backoff time is 300s, you can change it by setting--max-workflow-failed-backoff-time
in the bootstrap parameter of KubeVela controller.
Maximum Retry Times
When workflow enters running state or suspends due to condition wait, KubeVela application will re-apply applied resources to prevent configuration drift routinely. This process is called State Keep in KubeVela. By default, the interval of State Keep is 5 minutes, which can be configured in the of KubeVela controller by setting --application-re-sync-period
. If you want to disable the state keep capability, you can also use the apply-once policy in the application.