Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluegreen rollout does not resume if autoPromotionEnabled: false is set with autoPromotionSeconds and previewReplicaCount #2000

Closed
thatsmydoing opened this issue Apr 26, 2022 · 3 comments
Labels
bug Something isn't working docs Needs documentation/release notes no-issue-activity

Comments

@thatsmydoing
Copy link

thatsmydoing commented Apr 26, 2022

Summary

In a bluegreen rollout with autoPromotionEnabled: false and autoPromotionSeconds and previewReplicaCount also set, the rollout will stay paused indefinitely until it is manually promoted or any of previewReplicaCount or autoPromotionSeconds, autoPromotionEnabled is removed.

This might be a documentation issue as it states:

  • autoPromotionEnabled defaults to true
  • autoPromotionSeconds is ignored if autoPromotionEnabled is set to true

So it gives the impression that to use autoPromotionSeconds, one has to set autoPromotionEnabled: false, otherwise it would just promote immediately without waiting. In practice, autoPromotionEnabled must be true or unset for this to work. If not, it just never promotes.

Historically, I think pre-1.0.0, it did work with autoPromotionEnabled: false. I'm not sure if that was ever necessary though.

Diagnostics

argo-rollouts 1.0.7 and 1.2.0

These logs just keep on repeating

time="2022-04-26T16:29:48Z" level=info msg="Reconciling stable ReplicaSet 'realtime-7bb5bcd68f'" namespace=branch-master-1612593156 rollout=realtime
time="2022-04-26T16:29:48Z" level=info msg="reconciling pause (autoPromotionSeconds: 60)" namespace=branch-master-1612593156 rollout=realtime
time="2022-04-26T16:29:48Z" level=info msg="pause incomplete" namespace=branch-master-1612593156 rollout=realtime
time="2022-04-26T16:29:48Z" level=info msg="skipping active service switch: New RS 'realtime-856b7557fd' is not fully saturated" namespace=branch-master-1612593156 rollout=realtime
time="2022-04-26T16:29:48Z" level=info msg="Timed out (false) [last progress check: 2022-04-26 16:28:48 +0000 UTC - now: 2022-04-26 16:29:48.002012168 +0000 UTC m=+3407.751665669]" namespace=branch-master-1612593156 rollout=realtime
time="2022-04-26T16:29:48Z" level=info msg="No status changes. Skipping patch" generation=24 namespace=branch-master-1612593156 resourceVersion=360523416 rollout=realtime
time="2022-04-26T16:29:48Z" level=info msg="Reconciliation completed" generation=24 namespace=branch-master-1612593156 resourceVersion=360523416 rollout=realtime time_ms=1.3044790000000002

Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

@thatsmydoing thatsmydoing added the bug Something isn't working label Apr 26, 2022
@harikrongali harikrongali added this to the v1.4 milestone Oct 20, 2022
@zachaller zachaller removed this from the v1.4 milestone Dec 21, 2022
@KipsasJaujoj
Copy link
Contributor

KipsasJaujoj commented Jan 19, 2023

Imho, it is a documentation issue. It behaves same whether previewReplicaCount is present or not.
With previewReplicaCount:

() kubectl get rollouts go-hello-world-app-sandbox1-common-rollout -o yaml | grep autoPromotion
      autoPromotionEnabled: false
      autoPromotionSeconds: 60

It’s paused indefinitely:

  - lastTransitionTime: "2023-01-19T16:12:10Z"
    lastUpdateTime: "2023-01-19T16:12:10Z"
    message: Rollout is paused
    reason: RolloutPaused
    status: "True"
    type: Paused
() TZ=UTC date
Thu Jan 19 16:17:50 UTC 2023

Without previewReplicaCount:

()   kubectl get rollouts go-hello-world-app-sandbox1-common-rollout -o yaml | grep autoPromotion
      autoPromotionEnabled: false
      autoPromotionSeconds: 60

Paused:

() kubectl get rollouts go-hello-world-app-sandbox1-common-rollout -o yaml
...
  - lastTransitionTime: "2023-01-19T16:44:32Z"
    lastUpdateTime: "2023-01-19T16:44:32Z"
    message: Rollout is paused
    reason: RolloutPaused
    status: "True"
    type: Paused
  controllerPause: true
() TZ=UTC date
Thu Jan 19 16:46:36 UTC 2023

and with autoPromotionEnabled: true:

() kubectl get rollouts go-hello-world-app-sandbox1-common-rollout -o yaml | grep autoPromotion
      autoPromotionEnabled: true
      autoPromotionSeconds: 60

And it’s already promoted after a minute:

() kubectl get rollouts go-hello-world-app-sandbox1-common-rollout -o yaml
...
  - lastTransitionTime: "2023-01-19T16:50:47Z"
    lastUpdateTime: "2023-01-19T16:50:47Z"
    message: Rollout is paused
    reason: RolloutPaused
    status: "False"
    type: Paused
  currentPodHash: cb87897b7
  observedGeneration: "80"
  phase: Healthy

@KipsasJaujoj
Copy link
Contributor

It was a mistake in documentation. Sorted with #2525

@github-actions
Copy link
Contributor

This issue is stale because it has been open 60 days with no activity.

@kostis-codefresh kostis-codefresh added the docs Needs documentation/release notes label Jul 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working docs Needs documentation/release notes no-issue-activity
Projects
None yet
Development

No branches or pull requests

5 participants