From 51fe8b5bd9e64ebdc2f924172b2d7427ef194857 Mon Sep 17 00:00:00 2001 From: Piyush Baderia Date: Thu, 9 Dec 2021 18:22:39 +0530 Subject: [PATCH 1/3] Updated FAQs Chore to remove a sentence accidentally added twice. Signed-off-by: Piyush Baderia --- docs/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 7d870eddfb..bb8d84f1f7 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -47,7 +47,7 @@ Yes. A k8s cluster can run multiple replicas of Argo-rollouts controllers to ach Argo Rollouts supports BlueGreen, Canary, and Rolling Update. Additionally, Progressive Delivery features can be enabled on top of the blue-green/canary update, which further provides advanced deployment such as automated analysis and rollback. ### Does the Rollout object follow the provided strategy when it is first created? -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. +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 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. ### How does BlueGreen rollback work? 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. From 9ec119e5fe393fd74e46aae928cca4ad1a4d054b Mon Sep 17 00:00:00 2001 From: Piyush Baderia Date: Fri, 10 Dec 2021 16:10:10 +0530 Subject: [PATCH 2/3] Updated E2E test timeout to ensure tests are not failing without reason Signed-off-by: Piyush Baderia --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e29d6912e9..05ce5bc032 100644 --- a/Makefile +++ b/Makefile @@ -244,7 +244,7 @@ start-e2e: .PHONY: test-e2e test-e2e: - go test -timeout 30m -v -count 1 --tags e2e -p ${E2E_PARALLEL} --short ./test/e2e ${E2E_TEST_OPTIONS} + go test -timeout 60m -v -count 1 --tags e2e -p ${E2E_PARALLEL} --short ./test/e2e ${E2E_TEST_OPTIONS} .PHONY: coverage coverage: test From b812ce5b08f2331da8f72f07be692df759a7fdbf Mon Sep 17 00:00:00 2001 From: Piyush Baderia Date: Mon, 13 Dec 2021 23:18:41 +0530 Subject: [PATCH 3/3] Reverted commit with the timeout change Signed-off-by: Piyush Baderia --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 05ce5bc032..e29d6912e9 100644 --- a/Makefile +++ b/Makefile @@ -244,7 +244,7 @@ start-e2e: .PHONY: test-e2e test-e2e: - go test -timeout 60m -v -count 1 --tags e2e -p ${E2E_PARALLEL} --short ./test/e2e ${E2E_TEST_OPTIONS} + go test -timeout 30m -v -count 1 --tags e2e -p ${E2E_PARALLEL} --short ./test/e2e ${E2E_TEST_OPTIONS} .PHONY: coverage coverage: test