Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
We have observed a bug in the `skip-current-step` action that manifests itself when the current step is `Paused` due to `InconclusiveAnalysisRun`. Although executing the action moves the `currentStepIndex` forward, the rollout remains `Paused`. We then have to run the `resume` action to unpause the rollout. I have found by experimentation that the reason the rollout remains paused is because the `skip-current-step` action sets `obj.status.controllerPause` to `false`. The `controllerPause` variable is not meant to be modified – it's sufficient to set `obj.status.pauseConditions` to `nil`. When `pauseConditions` is the only variable modified by the action, `skip-current-step` works properly for us and we don't experience the bug described above. In addition, the `obj.spec.pause = false` operation is incorrect, because the rollout specification defines `obj.spec.paused` (with the letter `d`). In addition, `obj.spec.paused` indicates a manual pause (triggered by a user, rather than by the rollout controller) and it's debatable if `skip-current-step` should resume a manual pause. The `resume` action can be used for that purpose. I have therefore removed that line entirely. I have also added an additional if statement that checks if `obj.status.pauseConditions` is defined and has at least one element. Otherwise the variable isn't touched. This logic is modeled on the `resume` action.
- Loading branch information