Skip to content

Commit

Permalink
fix: stuck rollout when rollout is paused
Browse files Browse the repository at this point in the history
Signed-off-by: asingh51 <[email protected]>

fix: stuck rollout when rollout is paused

Signed-off-by: asingh51 <[email protected]>

fix: stuck rollout when rollout is paused

Signed-off-by: asingh51 <[email protected]>

fix: stuck rollout when rollout is paused

Signed-off-by: asingh51 <[email protected]>

fix: stuck rollout when rollout is paused

Signed-off-by: ashutosh16 <[email protected]>

fix: stuck rollout when rollout is paused

Signed-off-by: ashutosh16 <[email protected]>
  • Loading branch information
asingh51 authored and ashutosh16 committed Feb 12, 2024
1 parent 7bb1f84 commit 0c2638b
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 101 deletions.
20 changes: 10 additions & 10 deletions test/e2e/canary_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -565,27 +565,27 @@ func (s *CanarySuite) TestCanaryScaleDownOnAbortNoTrafficRouting() {
ExpectRevisionPodCount("2", 0)
}

func (s *CanarySuite) TestCanaryWhenRolloutPaused() {
s.Given().
HealthyRollout(`@functional/canary-deploy-new-rev-on-paused-rollout.yaml`).
func (s *CanarySuite) TestCanaryWithPausedRollout() {
(s.Given().
HealthyRollout(`@functional/rollout-canary-with-pause.yaml`).
When().
UpdateSpec(). // update to revision 2
WaitForRolloutStatus("Paused").
UpdateSpec(). // update to revision 3
WaitForRolloutStatus("Healthy").
Then().
// Expect that the canary service selector has been moved back to stable
ExpectServiceSelector("canary-next-canary", map[string]string{"app": "canary-next-canary", "rollouts-pod-template-hash": "66597877b7"}, false).
When().
Sleep(3*time.Second).
WaitForRolloutStatus("Paused").
Then().
ExpectRevisionPodCount("2", 0)
ExpectRevisionPodCount("1", 3).
ExpectRevisionPodCount("2", 0).
ExpectRevisionPodCount("3", 1))
}

func (s *CanarySuite) TestCanaryUnScaleDownOnAbort() {
s.Given().
HealthyRollout(`@functional/canary-unscaledownonabort.yaml`).
When().
ApplyManifests().
MarkPodsReady("1", 3). // mark all 3 pods ready
WaitForRolloutStatus("Healthy").
UpdateSpec(). // update to revision 2
WaitForRolloutStatus("Paused").
AbortRollout().
Expand Down
91 changes: 0 additions & 91 deletions test/e2e/functional/canary-deploy-new-rev-on-paused-rollout.yaml

This file was deleted.

77 changes: 77 additions & 0 deletions test/e2e/functional/rollout-canary-with-pause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
apiVersion: v1
kind: Service
metadata:
name: rollout-canary-with-pause-root
spec:
type: NodePort
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app: rollout-canary-with-pause
---
apiVersion: v1
kind: Service
metadata:
name: rollout-canary-with-pause-canary
spec:
type: NodePort
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app: rollout-canary-with-pause
---
apiVersion: v1
kind: Service
metadata:
name: rollout-canary-with-pause-stable
spec:
type: NodePort
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app: rollout-canary-with-pause
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: rollout-canary-with-pause
spec:
replicas: 3
revisionHistoryLimit: 3
progressDeadlineSeconds: 5
selector:
matchLabels:
app: rollout-canary-with-pause
template:
metadata:
labels:
app: rollout-canary-with-pause
spec:
containers:
- name: rollouts-demo
image: nginx:1.19-alpine
ports:
- containerPort: 80
readinessProbe:
initialDelaySeconds: 10
httpGet:
path: /
port: 80
periodSeconds: 30
strategy:
canary:
canaryService: rollout-canary-with-pause-canary
stableService: rollout-canary-with-pause-stable
steps:
- setWeight: 20
- pause: {}

0 comments on commit 0c2638b

Please sign in to comment.