Skip to content

Commit ccff157

Browse files
authored
docs: fix missing fields in canary spec (argoproj#1236)
- ScaleDownDelaySeconds and ScaleDownDelayRevisionLimit for canary Signed-off-by: Hui Kang <[email protected]>
1 parent 3932653 commit ccff157

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

docs/FAQ.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Argo Rollouts supports BlueGreen, Canary, and Rolling Update. Additionally, Prog
4646
As with Deployments, Rollouts does not follow the strategy parameters on the initial deploy. The controller tries to get the Rollout into a steady state as fast as possible. The controller tries to get the Rollout into a steady state as fast as possible by creating a fully scaled up ReplicaSet from the provided `.spec.template`. Once the Rollout has a stable ReplicaSet to transition from, the controller starts using the provided strategy to transition the previous ReplicaSet to the desired ReplicaSet.
4747

4848
### How does BlueGreen rollback work?
49-
A BlueGreen Rollout keeps the old ReplicaSet up and running for 30 seconds or the value of the scaleDownDelaySeconds. The controller tracks the remaining time before scaling down by adding an annotation called `argo-rollouts.argoproj.io/scale-down-deadline` to the old ReplicaSet. If the user applies the old Rollout manifest before the old ReplicaSet before it scales down, the controller does something called a fast rollback. The controller immediately switches the active service’s selector back to the old ReplicaSet’s rollout-pod-template-hash and removes the scaled down annotation from that ReplicaSet. The controller does not do any of the normal operations when trying to introduce a new version since it is trying to revert as fast as possible. A non-fast-track rollback occurs when the scale down annotation has past and the old ReplicaSet has been scaled down. In this case, the Rollout treats the ReplicaSet like any other new ReplicaSet and follows the usual procedure for deploying a new ReplicaSet.
49+
A BlueGreen Rollout keeps the old ReplicaSet up and running for 30 seconds or the value of the scaleDownDelaySeconds. The controller tracks the remaining time before scaling down by adding an annotation called `argo-rollouts.argoproj.io/scale-down-deadline` to the old ReplicaSet. If the user applies the old Rollout manifest before the old ReplicaSet scales down, the controller does something called a fast rollback. The controller immediately switches the active service’s selector back to the old ReplicaSet’s rollout-pod-template-hash and removes the scaled down annotation from that ReplicaSet. The controller does not do any of the normal operations when trying to introduce a new version since it is trying to revert as fast as possible. A non-fast-track rollback occurs when the scale down annotation has past and the old ReplicaSet has been scaled down. In this case, the Rollout treats the ReplicaSet like any other new ReplicaSet and follows the usual procedure for deploying a new ReplicaSet.
5050

5151
### What is the `argo-rollouts.argoproj.io/managed-by-rollouts` annotation?
5252
Argo Rollouts adds an `argo-rollouts.argoproj.io/managed-by-rollouts` annotation to Services and Ingresses that the controller modifies. They are used when the Rollout managing these resources is deleted and the controller tries to revert them back into their previous state.

docs/features/specification.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,19 @@ spec:
173173
# original pods. +optional
174174
maxSurge: "20%"
175175

176+
# Adds a delay before scaling down the previous ReplicaSet when the
177+
# canary strategy is used with traffic routing (default 30 seconds).
178+
# A delay in scaling down the previous ReplicaSet is needed after
179+
# switching the stable service selector to point to the new ReplicaSet,
180+
# in order to give time for traffic providers to re-target the new pods.
181+
# This value is ignored with basic, replica-weighted canary without
182+
# traffic routing.
183+
ScaleDownDelaySeconds: 30
184+
185+
# Limits the number of old RS that can run at one time before getting
186+
# scaled down. Defaults to nil
187+
ScaleDownDelayRevisionLimit: 2
188+
176189
# Background analysis to run during a rollout update. Skipped upon
177190
# initial deploy of a rollout. +optional
178191
analysis:

0 commit comments

Comments
 (0)