You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Analysis Run of type job never fails when the job image can't be pulled (it just succeeds and promotes). When Job pods can't pull image it goes into ErrImagePull indefinitely and the job itself does not Fail. However, Argo rollouts waits for some time and considers this as success and then promotes the canary.
To Reproduce
create a namespace called test-namespace
run the following kubernetes configs
Wait for the pods to come up
change the deployment image to nginx:1.19.0 to trigger a rollout
apiVersion: apps/v1kind: Deploymentmetadata:
name: test-deploymentnamespace: test-namespacespec:
replicas: 0selector:
matchLabels:
app: nginxtemplate:
metadata:
labels:
app: nginxspec:
containers:
- name: nginximage: nginx:1.9.8 # update it to 1.19.0 to trigger a rollout, as the first time will only create the pods.ports:
- containerPort: 8080
---
apiVersion: v1kind: Servicemetadata:
name: nginx-stablenamespace: test-namespacespec:
selector:
app: nginxports:
- port: 80targetPort: 8080
---
apiVersion: v1kind: Servicemetadata:
name: nginx-canarynamespace: test-namespacespec:
selector:
app: nginxports:
- port: 80targetPort: 8080
---
apiVersion: argoproj.io/v1alpha1kind: ClusterAnalysisTemplatemetadata:
name: acceptance-testspec:
metrics:
- name: acceptance-testprovider:
job:
spec:
backoffLimit: 2completions: 1template:
spec:
containers:
- name: testimage: docker.io/library/lol:5 # this image does not exist.command: ["bash"]args: ["-c", "echo 'Hello world! going to exit with 0 (success).' && sleep 10 && exit 0"]restartPolicy: Never
---
apiVersion: argoproj.io/v1alpha1kind: Rolloutmetadata:
name: awesome-rolloutnamespace: test-namespacespec:
replicas: 2workloadRef:
apiVersion: apps/v1kind: Deploymentname: test-deploymentstrategy:
canary:
canaryService: nginx-canarystableService: nginx-stableanalysis:
templates:
- templateName: acceptance-testclusterScope: truesteps:
- setWeight: 20
- pause: {duration: 10s}
- setWeight: 40
- pause: {duration: 10s}
- setWeight: 80
- pause: {duration: 10s}
Expected behavior
It will succeed and promote and won't report a failure even though the job pod didn't start and was in ErrImagePull. It will also delete both the job and the rollout from the cluster.
Screenshots
Version
Tested on v1.6.6 and previous versions.
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.
The text was updated successfully, but these errors were encountered:
Checklist:
Describe the bug
Analysis Run of type job never fails when the job image can't be pulled (it just succeeds and promotes). When Job pods can't pull image it goes into
ErrImagePull
indefinitely and the job itself does not Fail. However, Argo rollouts waits for some time and considers this as success and then promotes the canary.To Reproduce
test-namespace
nginx:1.19.0
to trigger a rolloutExpected behavior
ErrImagePull
. It will also delete both the job and the rollout from the cluster.Screenshots
Version
Tested on v1.6.6 and previous versions.
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.
The text was updated successfully, but these errors were encountered: