Description
Checklist:
- I've included steps to reproduce the bug.
- I've included the version of argo rollouts.
Describe the bug
When a rollout is put in a manuallyPaused state running a full promote will only move it to the last step however it will not finish the rollout. A subsequent promote will be needed to move finish the rollout.
To Reproduce
When you start a rollout then run rollout pause
kubectl argo rollouts pause canary_release
then run the command
kubectl argo rollouts promote canary_release --full
You should be able to see the release stays in a manually paused status and the old replicaset stays scaled up, 100 of weight will be set to the canary replica set however the rollout will stay in manuallyPaused state.
strategy:
canary:
canaryService: canary
stableService: stable
steps:
- setCanaryScale:
weight: 100
- pause:
duration: 1m
- setHeaderRoute:
match:
- headerName: pop
headerValue:
exact: 1
name: 1
- pause:
duration: 1m
- setHeaderRoute:
match:
- headerName: pop
headerValue:
exact: 5
name: 5
- setHeaderRoute:
match:
- headerName: pop
headerValue:
exact: 10
name: 10
- pause:
duration: 1m
trafficRouting:
istio:
virtualServices:
- name: ingress-rollout
routes:
- ingress-rollout
- name: internal-rollout
routes:
- internal-rollout
managedRoutes:
- name: 1
- name: 5
- name: 10
workloadRef:
apiVersion: apps/v1
kind: Deployment
name: service
Expected behavior
When a full promote is ran the rollout should go to a finish state and scale down the old replica set instead of needing a subsequent promote to scale down the old replica set.
Version
v1.5.0
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.