argoproj / argo-rollouts

Progressive Delivery for Kubernetes
https://argo-rollouts.readthedocs.io/
Apache License 2.0
2.69k stars 841 forks source link

Aborting paused rollouts is not working (endless reconsiliation loop) #3756

Open matbhe opened 1 month ago

matbhe commented 1 month ago

Describe the bug It seems that rollouts in state paused cannot be successfully aborted. Aborting a paused rollouts causes a never ending "reconsiliation loop" in the controller.

To Reproduce

  1. Create a rollout with: 1.1 Green-Image: argoproj/rollouts-demo:green 1.2 Alb traffic routing 1.3 Analysis Template with ubuntu:latest and "sleep 60" command
  2. Apply everything (create initial green version)
  3. Trigger rollout to next version (e. g. blue)
  4. Pause rollout while the analysis template (ubuntu sleep) is running (kubectl argo rollouts pause abort-test-rollout)
  5. Abort the rollout when the analysis template has completed successful (kubectl argo rollouts abort abort-test-rollout)

manifest.txt

Expected behavior Argo rollouts should successfully undo all changes on abort. A simple way to achieve this is to "unpause" the rollout when aborting it:

kubectl patch rollout abort-test-rollout  --type='merge' -p '{"spec":{"paused": false}}'

Version Tested with version 1.7.1 (release-1.7 branch)

Logs log.txt