Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent behavior on deleting a running pod in DAG #3097

Closed
4 tasks done
jyotishp opened this issue May 23, 2020 · 10 comments · Fixed by #3469
Closed
4 tasks done

Inconsistent behavior on deleting a running pod in DAG #3097

jyotishp opened this issue May 23, 2020 · 10 comments · Fixed by #3469
Assignees
Labels
type/bug type/regression Regression from previous behavior (a specific type of bug)

Comments

@jyotishp
Copy link

jyotishp commented May 23, 2020

Checklist:

  • I've included the version.
  • I've included reproduction steps.
  • I've included the workflow YAML.
  • I've included the logs.

What happened:
When a running pod of a DAG from a workflow is deleted, the pod fails with either

phase: Failed
message: pod termination

or

phase: Error
message: pod deleted

What you expected to happen:
Expected the pod to fail with phase: Error.

How to reproduce it (as minimally and precisely as possible):

  • Submit the workflow
argo submit https://gist.githubusercontent.com/jyotishp/6375f62044d549f907d6f79ba49d6a3f/raw/9c541dd53df1a966dd9c8dfa116d6920d76de0a1/workflow.yaml
  • Identify the running pod (named "B") and run
kubectl delete pod --force <pod>

Sometimes the pod status is set to Failed and sometimes to Error.

Anything else we need to know?:

Environment:

  • Argo version:
$ argo version
argo: v2.8.0
  BuildDate: 2020-05-11T22:55:16Z
  GitCommit: 8f696174746ed01b9bf1941ad03da62d312df641
  GitTreeState: clean
  GitTag: v2.8.0
  GoVersion: go1.13.4
  Compiler: gc
  Platform: linux/amd64
  • Kubernetes version :
$ kubectl version -o yaml
clientVersion:
  buildDate: "2020-04-23T22:11:11Z"
  compiler: gc
  gitCommit: 52c56ce7a8272c798dbc29846288d7cd9fbae032
  gitTreeState: archive
  gitVersion: v1.18.2
  goVersion: go1.14.2
  major: "1"
  minor: "18"
  platform: linux/amd64
serverVersion:
  buildDate: "2020-04-06T16:33:17Z"
  compiler: gc
  gitCommit: 34a615f32e9a0c9e97cdb9f749adb392758349a6
  gitTreeState: clean
  gitVersion: v1.14.10-gke.36
  goVersion: go1.12.12b4
  major: "1"
  minor: 14+
  platform: linux/amd64

Other debugging information (if applicable):

  • Workflow result for phase: Error:
Name:                wf-v8rff
Namespace:           default
ServiceAccount:      default
Status:              Error
Created:             Sun May 24 02:30:57 +0530 (22 seconds ago)
Started:             Sun May 24 02:30:57 +0530 (22 seconds ago)
Finished:            Sun May 24 02:31:13 +0530 (6 seconds ago)
Duration:            16 seconds

STEP         TEMPLATE  PODNAME             DURATION  MESSAGE
 ⚠ wf-v8rff  run-dag
 └-⚠ B       B         wf-v8rff-770678605  22s       pod deleted
  • Workflow result for phase: Failed:
Name:                wf-sl7jp
Namespace:           default
ServiceAccount:      default
Status:              Failed
Created:             Sun May 24 02:31:25 +0530 (20 seconds ago)
Started:             Sun May 24 02:31:25 +0530 (20 seconds ago)
Finished:            Sun May 24 02:31:39 +0530 (6 seconds ago)
Duration:            14 seconds

STEP         TEMPLATE  PODNAME              DURATION  MESSAGE
 ✖ wf-sl7jp  run-dag
 └-✖ B       B         wf-sl7jp-3474479707  14s       pod termination

Logs


Message from the maintainers:

If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@jyotishp jyotishp changed the title Inconsistent behavior on deleting a running pod Inconsistent behavior on deleting a running pod in DAG May 23, 2020
@sarabala1979 sarabala1979 self-assigned this May 24, 2020
@sarabala1979
Copy link
Member

Not able to reproduce on the master branch.
Fixed: #2855

@jyotishp
Copy link
Author

@sarabala1979 I can see a similar thing happening with argo v2.9.0-rc2.

I submit the same workflow.

If I run kubectl delete pod <pod>, I get

Name:                wf-4xj8j
Namespace:           default
ServiceAccount:      default
Status:              Failed
Conditions:
 Completed           True
Created:             Mon Jun 22 14:37:44 +0530 (4 minutes ago)
Started:             Mon Jun 22 14:37:44 +0530 (4 minutes ago)
Finished:            Mon Jun 22 14:38:27 +0530 (3 minutes ago)
Duration:            43 seconds
ResourcesDuration:   51s*(1 cpu),51s*(100Mi memory)

STEP         TEMPLATE  PODNAME              DURATION  MESSAGE
 ✖ wf-4xj8j  run-dag
 └-✖ B       B         wf-4xj8j-2031810101  42s       failed with exit code 137

If I run `kubectl delete pod --grace-period=0 , I get

Name:                retry-timeouts-qxf6p
Namespace:           default
ServiceAccount:      default
Status:              Succeeded
Conditions:
 Completed           True
Created:             Mon Jun 22 12:53:55 +0530 (1 hour ago)
Started:             Mon Jun 22 12:53:55 +0530 (1 hour ago)
Finished:            Mon Jun 22 12:54:40 +0530 (1 hour ago)
Duration:            45 seconds
ResourcesDuration:   0s*(1 cpu),0s*(100Mi memory)

STEP                        TEMPLATE           PODNAME                          DURATION  MESSAGE
 ✔ retry-timeouts-qxf6p(0)  step-with-retries  retry-timeouts-qxf6p-1324065497  45s

If I run kubectl delete pod --force <pod>, the workflow status doesn't update this time,

❯ argo get wf-xscgq
Name:                wf-xscgq
Namespace:           default
ServiceAccount:      default
Status:              Running
Created:             Mon Jun 22 14:36:34 +0530 (7 minutes ago)
Started:             Mon Jun 22 14:36:34 +0530 (7 minutes ago)
Duration:            7 minutes 45 seconds

STEP         TEMPLATE  PODNAME              DURATION  MESSAGE
 ● wf-xscgq  run-dag
 └-● B       B         wf-xscgq-1753985747  7m
❯ kubectl get pod wf-xscgq-1753985747
Error from server (NotFound): pods "wf-xscgq-1753985747" not found

But sometimes (happened once out of many trials), it does detect that the pod got deleted but after a long time,

Name:                wf-x2cl8
Namespace:           default
ServiceAccount:      default
Status:              Error
Conditions:
 Completed           True
Created:             Mon Jun 22 14:32:20 +0530 (13 minutes ago)
Started:             Mon Jun 22 14:32:20 +0530 (13 minutes ago)
Finished:            Mon Jun 22 14:33:04 +0530 (12 minutes ago)
Duration:            44 seconds

STEP         TEMPLATE  PODNAME             DURATION  MESSAGE
 ⚠ wf-x2cl8  run-dag
 └-⚠ B       B         wf-x2cl8-499854486  13m       pod deleted

The workflow's duration was 44 seconds but the pod's duration was 13 minutes (which is probably the time it took to mark the pod as deleted).

@alexec
Copy link
Contributor

alexec commented Jun 22, 2020

#3214

@alexec
Copy link
Contributor

alexec commented Jul 13, 2020

"pod termination" is a red-herring - this was changed to "pod deleted" 7th May (see #2855).

As with Failed vs Error - this was changed.

The cause of "pod deleted" is someone deleted pod with kubectl and Argo Workflows decides the workflow should be in error state.

The outcome is different if you use --force:

  • k delete wf-ql9nf-3336848021 - error status + "pod deleted".
  • k delete --force wf-ql9nf-3336848021 - workflow remains running, and will do so until the controller restarts.

The workflow controller is not informed of forced deletion. We can't really help you if you use forced delete - by using it you are saying you don't mind your system being put into bad state.

I believe this issues is invalid and labelling as such.

@alexec alexec added the invalid label Jul 13, 2020
@alexec alexec removed their assignment Jul 13, 2020
@jyotishp
Copy link
Author

@alexec

Can you help me understand this?

The workflow controller is not informed of forced deletion

I do not think that should be the case. Adding --force still sends out a k8s event. This is the event sent on force delete.

Name:             test.16218ceee8f2cabd
Namespace:        default
Labels:           <none>
Annotations:      <none>
API Version:      v1
Count:            2
Event Time:       <nil>
First Timestamp:  2020-07-14T07:11:40Z
Involved Object:
  API Version:       v1
  Field Path:        spec.containers{test-pod}
  Kind:              Pod
  Name:              test
  Namespace:         default
  Resource Version:  182730333
  UID:               3a1daa30-c5a1-11ea-a8fd-42010a840172
Kind:                Event
Last Timestamp:      2020-07-14T07:11:40Z
Message:             Killing container with id docker://test-pod:Need to kill Pod
Metadata:
  Creation Timestamp:  2020-07-14T07:11:40Z
  Resource Version:    1023700
  Self Link:           /api/v1/namespaces/default/events/test.16218ceee8f2cabd
  UID:                 43ea58c6-c5a1-11ea-a8fd-42010a840172
Reason:                Killing
Reporting Component:
Reporting Instance:
Source:
  Component:  kubelet
  Host:       nodes-2e9e3720-vzql
Type:         Normal
Events:       <none>

If k8s state is updated properly, shouldn't the workflow controller (which uses k8s for tracking its state) detect this?

@jyotishp
Copy link
Author

Also, this still doesn't explain why the task is marked as "Succeeded" when --grace-period=0 is used.

@alexec
Copy link
Contributor

alexec commented Jul 14, 2020

All I'm really saying is that, from the workflow controller logs, we never see the pod being deleted if you use force. I'm not sure why this is and will speak to my team later.

@alexec
Copy link
Contributor

alexec commented Jul 14, 2020

@jessesuen and @alexmt - it looks like the pod informer does not get notified if the pod is deleted using --force, this maybe pick up after a re-sync. Have you ever seen this?

@alexec
Copy link
Contributor

alexec commented Jul 14, 2020

Delete with force - last message

{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "annotations": {
            "workflows.argoproj.io/node-name": "wf-dv24q.B",
            "workflows.argoproj.io/template": "{\"name\":\"B\",\"arguments\":{},\"inputs\":{},\"outputs\":{},\"metadata\":{},\"container\":{\"name\":\"\",\"image\":\"alpine\",\"command\":[\"sh\",\"-c\"],\"args\":[\"sleep 1000000\\nexit 2\"],\"resources\":{}},\"archiveLocation\":{\"archiveLogs\":true,\"s3\":{\"endpoint\":\"minio:9000\",\"bucket\":\"my-bucket\",\"insecure\":true,\"accessKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"accesskey\"},\"secretKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"secretkey\"},\"key\":\"wf-dv24q/wf-dv24q-136091366\"}}}"
        },
        "creationTimestamp": "2020-07-14T15:34:49Z",
        "deletionGracePeriodSeconds": 0,
        "deletionTimestamp": "2020-07-14T15:35:04Z",
        "labels": {
            "workflows.argoproj.io/completed": "false",
            "workflows.argoproj.io/workflow": "wf-dv24q"
        },
        "managedFields": [
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:metadata": {
                        "f:annotations": {
                            ".": {},
                            "f:workflows.argoproj.io/node-name": {},
                            "f:workflows.argoproj.io/template": {}
                        },
                        "f:labels": {
                            ".": {},
                            "f:workflows.argoproj.io/completed": {},
                            "f:workflows.argoproj.io/workflow": {}
                        },
                        "f:ownerReferences": {
                            ".": {},
                            "k:{\"uid\":\"d754dfeb-ecdb-4525-9093-feba144c41cf\"}": {
                                ".": {},
                                "f:apiVersion": {},
                                "f:blockOwnerDeletion": {},
                                "f:controller": {},
                                "f:kind": {},
                                "f:name": {},
                                "f:uid": {}
                            }
                        }
                    },
                    "f:spec": {
                        "f:containers": {
                            "k:{\"name\":\"main\"}": {
                                ".": {},
                                "f:args": {},
                                "f:command": {},
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {},
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {}
                            },
                            "k:{\"name\":\"wait\"}": {
                                ".": {},
                                "f:command": {},
                                "f:env": {
                                    ".": {},
                                    "k:{\"name\":\"ARGO_CONTAINER_RUNTIME_EXECUTOR\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:value": {}
                                    },
                                    "k:{\"name\":\"ARGO_POD_NAME\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:valueFrom": {
                                            ".": {},
                                            "f:fieldRef": {
                                                ".": {},
                                                "f:apiVersion": {},
                                                "f:fieldPath": {}
                                            }
                                        }
                                    }
                                },
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {
                                    ".": {},
                                    "f:limits": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    },
                                    "f:requests": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    }
                                },
                                "f:securityContext": {
                                    ".": {},
                                    "f:capabilities": {
                                        ".": {},
                                        "f:add": {}
                                    }
                                },
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {},
                                "f:volumeMounts": {
                                    ".": {},
                                    "k:{\"mountPath\":\"/argo/podmetadata\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {}
                                    },
                                    "k:{\"mountPath\":\"/argo/secret/my-minio-cred\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {},
                                        "f:readOnly": {}
                                    }
                                }
                            }
                        },
                        "f:dnsPolicy": {},
                        "f:enableServiceLinks": {},
                        "f:restartPolicy": {},
                        "f:schedulerName": {},
                        "f:securityContext": {},
                        "f:shareProcessNamespace": {},
                        "f:terminationGracePeriodSeconds": {},
                        "f:volumes": {
                            ".": {},
                            "k:{\"name\":\"my-minio-cred\"}": {
                                ".": {},
                                "f:name": {},
                                "f:secret": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {},
                                    "f:secretName": {}
                                }
                            },
                            "k:{\"name\":\"podmetadata\"}": {
                                ".": {},
                                "f:downwardAPI": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {}
                                },
                                "f:name": {}
                            }
                        }
                    }
                },
                "manager": "workflow-controller",
                "operation": "Update",
                "time": "2020-07-14T15:34:49Z"
            },
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:status": {
                        "f:conditions": {
                            "k:{\"type\":\"ContainersReady\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Initialized\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Ready\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            }
                        },
                        "f:containerStatuses": {},
                        "f:hostIP": {},
                        "f:phase": {},
                        "f:podIP": {},
                        "f:podIPs": {
                            ".": {},
                            "k:{\"ip\":\"10.42.0.69\"}": {
                                ".": {},
                                "f:ip": {}
                            }
                        },
                        "f:startTime": {}
                    }
                },
                "manager": "k3s",
                "operation": "Update",
                "time": "2020-07-14T15:34:52Z"
            }
        ],
        "name": "wf-dv24q-136091366",
        "namespace": "argo",
        "ownerReferences": [
            {
                "apiVersion": "argoproj.io/v1alpha1",
                "blockOwnerDeletion": true,
                "controller": true,
                "kind": "Workflow",
                "name": "wf-dv24q",
                "uid": "d754dfeb-ecdb-4525-9093-feba144c41cf"
            }
        ],
        "resourceVersion": "56348",
        "selfLink": "/api/v1/namespaces/argo/pods/wf-dv24q-136091366",
        "uid": "44f5ea48-9da7-4bab-9b79-ac3002cd37e4"
    },
    "spec": {
        "containers": [
            {
                "command": [
                    "argoexec",
                    "wait"
                ],
                "env": [
                    {
                        "name": "ARGO_POD_NAME",
                        "valueFrom": {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.name"
                            }
                        }
                    },
                    {
                        "name": "ARGO_CONTAINER_RUNTIME_EXECUTOR",
                        "value": "pns"
                    }
                ],
                "image": "argoproj/argoexec:latest",
                "imagePullPolicy": "Never",
                "name": "wait",
                "resources": {
                    "limits": {
                        "cpu": "500m",
                        "memory": "128Mi"
                    },
                    "requests": {
                        "cpu": "100m",
                        "memory": "64Mi"
                    }
                },
                "securityContext": {
                    "capabilities": {
                        "add": [
                            "SYS_PTRACE"
                        ]
                    }
                },
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/argo/podmetadata",
                        "name": "podmetadata"
                    },
                    {
                        "mountPath": "/argo/secret/my-minio-cred",
                        "name": "my-minio-cred",
                        "readOnly": true
                    },
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            },
            {
                "args": [
                    "sleep 1000000\nexit 2"
                ],
                "command": [
                    "sh",
                    "-c"
                ],
                "image": "alpine",
                "imagePullPolicy": "Always",
                "name": "main",
                "resources": {},
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            }
        ],
        "dnsPolicy": "ClusterFirst",
        "enableServiceLinks": true,
        "nodeName": "k3d-k3s-default-server",
        "priority": 0,
        "restartPolicy": "Never",
        "schedulerName": "default-scheduler",
        "securityContext": {},
        "serviceAccount": "default",
        "serviceAccountName": "default",
        "shareProcessNamespace": true,
        "terminationGracePeriodSeconds": 30,
        "tolerations": [
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/not-ready",
                "operator": "Exists",
                "tolerationSeconds": 300
            },
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/unreachable",
                "operator": "Exists",
                "tolerationSeconds": 300
            }
        ],
        "volumes": [
            {
                "downwardAPI": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.annotations"
                            },
                            "path": "annotations"
                        }
                    ]
                },
                "name": "podmetadata"
            },
            {
                "name": "my-minio-cred",
                "secret": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "key": "accesskey",
                            "path": "accesskey"
                        },
                        {
                            "key": "secretkey",
                            "path": "secretkey"
                        }
                    ],
                    "secretName": "my-minio-cred"
                }
            },
            {
                "name": "default-token-sllr5",
                "secret": {
                    "defaultMode": 420,
                    "secretName": "default-token-sllr5"
                }
            }
        ]
    },
    "status": {
        "conditions": [
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:49Z",
                "status": "True",
                "type": "Initialized"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:52Z",
                "status": "True",
                "type": "Ready"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:52Z",
                "status": "True",
                "type": "ContainersReady"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:49Z",
                "status": "True",
                "type": "PodScheduled"
            }
        ],
        "containerStatuses": [
            {
                "containerID": "containerd://f41cd478ca50fc660312170a66bb219a28aa3f945a30084ddb640e29ac53b5d2",
                "image": "docker.io/library/alpine:latest",
                "imageID": "docker.io/library/alpine@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321",
                "lastState": {},
                "name": "main",
                "ready": true,
                "restartCount": 0,
                "started": true,
                "state": {
                    "running": {
                        "startedAt": "2020-07-14T15:34:51Z"
                    }
                }
            },
            {
                "containerID": "containerd://2dcefcdc86a303425b880137e31d354e0d32bb52d6fb8780b2c6fbd8aa4355b5",
                "image": "docker.io/argoproj/argoexec:latest",
                "imageID": "sha256:f7a58299dc349241028c834f9cc5b5d80d1a07fca869d1e8f16bbd7183cf873f",
                "lastState": {},
                "name": "wait",
                "ready": true,
                "restartCount": 0,
                "started": true,
                "state": {
                    "running": {
                        "startedAt": "2020-07-14T15:34:50Z"
                    }
                }
            }
        ],
        "hostIP": "172.22.0.2",
        "phase": "Running",
        "podIP": "10.42.0.69",
        "podIPs": [
            {
                "ip": "10.42.0.69"
            }
        ],
        "qosClass": "Burstable",
        "startTime": "2020-07-14T15:34:49Z"
    }
}

Delete without force:

{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "annotations": {
            "workflows.argoproj.io/node-name": "wf-lwlzp.B",
            "workflows.argoproj.io/template": "{\"name\":\"B\",\"arguments\":{},\"inputs\":{},\"outputs\":{},\"metadata\":{},\"container\":{\"name\":\"\",\"image\":\"alpine\",\"command\":[\"sh\",\"-c\"],\"args\":[\"sleep 1000000\\nexit 2\"],\"resources\":{}},\"archiveLocation\":{\"archiveLogs\":true,\"s3\":{\"endpoint\":\"minio:9000\",\"bucket\":\"my-bucket\",\"insecure\":true,\"accessKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"accesskey\"},\"secretKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"secretkey\"},\"key\":\"wf-lwlzp/wf-lwlzp-878720680\"}}}"
        },
        "creationTimestamp": "2020-07-14T15:36:17Z",
        "deletionGracePeriodSeconds": 0,
        "deletionTimestamp": "2020-07-14T15:36:34Z",
        "labels": {
            "workflows.argoproj.io/completed": "false",
            "workflows.argoproj.io/workflow": "wf-lwlzp"
        },
        "managedFields": [
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:metadata": {
                        "f:annotations": {
                            ".": {},
                            "f:workflows.argoproj.io/node-name": {},
                            "f:workflows.argoproj.io/template": {}
                        },
                        "f:labels": {
                            ".": {},
                            "f:workflows.argoproj.io/completed": {},
                            "f:workflows.argoproj.io/workflow": {}
                        },
                        "f:ownerReferences": {
                            ".": {},
                            "k:{\"uid\":\"f1bd093e-743a-4e69-abb8-d0dacee191ef\"}": {
                                ".": {},
                                "f:apiVersion": {},
                                "f:blockOwnerDeletion": {},
                                "f:controller": {},
                                "f:kind": {},
                                "f:name": {},
                                "f:uid": {}
                            }
                        }
                    },
                    "f:spec": {
                        "f:containers": {
                            "k:{\"name\":\"main\"}": {
                                ".": {},
                                "f:args": {},
                                "f:command": {},
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {},
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {}
                            },
                            "k:{\"name\":\"wait\"}": {
                                ".": {},
                                "f:command": {},
                                "f:env": {
                                    ".": {},
                                    "k:{\"name\":\"ARGO_CONTAINER_RUNTIME_EXECUTOR\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:value": {}
                                    },
                                    "k:{\"name\":\"ARGO_POD_NAME\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:valueFrom": {
                                            ".": {},
                                            "f:fieldRef": {
                                                ".": {},
                                                "f:apiVersion": {},
                                                "f:fieldPath": {}
                                            }
                                        }
                                    }
                                },
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {
                                    ".": {},
                                    "f:limits": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    },
                                    "f:requests": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    }
                                },
                                "f:securityContext": {
                                    ".": {},
                                    "f:capabilities": {
                                        ".": {},
                                        "f:add": {}
                                    }
                                },
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {},
                                "f:volumeMounts": {
                                    ".": {},
                                    "k:{\"mountPath\":\"/argo/podmetadata\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {}
                                    },
                                    "k:{\"mountPath\":\"/argo/secret/my-minio-cred\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {},
                                        "f:readOnly": {}
                                    }
                                }
                            }
                        },
                        "f:dnsPolicy": {},
                        "f:enableServiceLinks": {},
                        "f:restartPolicy": {},
                        "f:schedulerName": {},
                        "f:securityContext": {},
                        "f:shareProcessNamespace": {},
                        "f:terminationGracePeriodSeconds": {},
                        "f:volumes": {
                            ".": {},
                            "k:{\"name\":\"my-minio-cred\"}": {
                                ".": {},
                                "f:name": {},
                                "f:secret": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {},
                                    "f:secretName": {}
                                }
                            },
                            "k:{\"name\":\"podmetadata\"}": {
                                ".": {},
                                "f:downwardAPI": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {}
                                },
                                "f:name": {}
                            }
                        }
                    }
                },
                "manager": "workflow-controller",
                "operation": "Update",
                "time": "2020-07-14T15:36:17Z"
            },
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:status": {
                        "f:conditions": {
                            "k:{\"type\":\"ContainersReady\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:message": {},
                                "f:reason": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Initialized\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Ready\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:message": {},
                                "f:reason": {},
                                "f:status": {},
                                "f:type": {}
                            }
                        },
                        "f:containerStatuses": {},
                        "f:hostIP": {},
                        "f:phase": {},
                        "f:podIP": {},
                        "f:podIPs": {
                            ".": {},
                            "k:{\"ip\":\"10.42.0.70\"}": {
                                ".": {},
                                "f:ip": {}
                            }
                        },
                        "f:startTime": {}
                    }
                },
                "manager": "k3s",
                "operation": "Update",
                "time": "2020-07-14T15:36:35Z"
            }
        ],
        "name": "wf-lwlzp-878720680",
        "namespace": "argo",
        "ownerReferences": [
            {
                "apiVersion": "argoproj.io/v1alpha1",
                "blockOwnerDeletion": true,
                "controller": true,
                "kind": "Workflow",
                "name": "wf-lwlzp",
                "uid": "f1bd093e-743a-4e69-abb8-d0dacee191ef"
            }
        ],
        "resourceVersion": "56441",
        "selfLink": "/api/v1/namespaces/argo/pods/wf-lwlzp-878720680",
        "uid": "cb8fa533-522b-4fd3-a6ce-5a65fa18079c"
    },
    "spec": {
        "containers": [
            {
                "command": [
                    "argoexec",
                    "wait"
                ],
                "env": [
                    {
                        "name": "ARGO_POD_NAME",
                        "valueFrom": {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.name"
                            }
                        }
                    },
                    {
                        "name": "ARGO_CONTAINER_RUNTIME_EXECUTOR",
                        "value": "pns"
                    }
                ],
                "image": "argoproj/argoexec:latest",
                "imagePullPolicy": "Never",
                "name": "wait",
                "resources": {
                    "limits": {
                        "cpu": "500m",
                        "memory": "128Mi"
                    },
                    "requests": {
                        "cpu": "100m",
                        "memory": "64Mi"
                    }
                },
                "securityContext": {
                    "capabilities": {
                        "add": [
                            "SYS_PTRACE"
                        ]
                    }
                },
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/argo/podmetadata",
                        "name": "podmetadata"
                    },
                    {
                        "mountPath": "/argo/secret/my-minio-cred",
                        "name": "my-minio-cred",
                        "readOnly": true
                    },
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            },
            {
                "args": [
                    "sleep 1000000\nexit 2"
                ],
                "command": [
                    "sh",
                    "-c"
                ],
                "image": "alpine",
                "imagePullPolicy": "Always",
                "name": "main",
                "resources": {},
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            }
        ],
        "dnsPolicy": "ClusterFirst",
        "enableServiceLinks": true,
        "nodeName": "k3d-k3s-default-server",
        "priority": 0,
        "restartPolicy": "Never",
        "schedulerName": "default-scheduler",
        "securityContext": {},
        "serviceAccount": "default",
        "serviceAccountName": "default",
        "shareProcessNamespace": true,
        "terminationGracePeriodSeconds": 30,
        "tolerations": [
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/not-ready",
                "operator": "Exists",
                "tolerationSeconds": 300
            },
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/unreachable",
                "operator": "Exists",
                "tolerationSeconds": 300
            }
        ],
        "volumes": [
            {
                "downwardAPI": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.annotations"
                            },
                            "path": "annotations"
                        }
                    ]
                },
                "name": "podmetadata"
            },
            {
                "name": "my-minio-cred",
                "secret": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "key": "accesskey",
                            "path": "accesskey"
                        },
                        {
                            "key": "secretkey",
                            "path": "secretkey"
                        }
                    ],
                    "secretName": "my-minio-cred"
                }
            },
            {
                "name": "default-token-sllr5",
                "secret": {
                    "defaultMode": 420,
                    "secretName": "default-token-sllr5"
                }
            }
        ]
    },
    "status": {
        "conditions": [
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:17Z",
                "status": "True",
                "type": "Initialized"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:35Z",
                "message": "containers with unready status: [wait main]",
                "reason": "ContainersNotReady",
                "status": "False",
                "type": "Ready"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:35Z",
                "message": "containers with unready status: [wait main]",
                "reason": "ContainersNotReady",
                "status": "False",
                "type": "ContainersReady"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:17Z",
                "status": "True",
                "type": "PodScheduled"
            }
        ],
        "containerStatuses": [
            {
                "containerID": "containerd://7857323db376d9b56c4a86de30f1d9ebd2bd6987bc2d7209011cc8f54af0b4b5",
                "image": "docker.io/library/alpine:latest",
                "imageID": "docker.io/library/alpine@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321",
                "lastState": {},
                "name": "main",
                "ready": false,
                "restartCount": 0,
                "started": false,
                "state": {
                    "terminated": {
                        "containerID": "containerd://7857323db376d9b56c4a86de30f1d9ebd2bd6987bc2d7209011cc8f54af0b4b5",
                        "exitCode": 143,
                        "finishedAt": "2020-07-14T15:36:34Z",
                        "reason": "Error",
                        "startedAt": "2020-07-14T15:36:19Z"
                    }
                }
            },
            {
                "containerID": "containerd://4c27a25158a4d90c012a12ae66e620e2aec9fa2dbbc9c5ccabcc42341fc11bd7",
                "image": "docker.io/argoproj/argoexec:latest",
                "imageID": "sha256:f7a58299dc349241028c834f9cc5b5d80d1a07fca869d1e8f16bbd7183cf873f",
                "lastState": {},
                "name": "wait",
                "ready": false,
                "restartCount": 0,
                "started": false,
                "state": {
                    "terminated": {
                        "containerID": "containerd://4c27a25158a4d90c012a12ae66e620e2aec9fa2dbbc9c5ccabcc42341fc11bd7",
                        "exitCode": 143,
                        "finishedAt": "2020-07-14T15:36:34Z",
                        "reason": "Error",
                        "startedAt": "2020-07-14T15:36:18Z"
                    }
                }
            }
        ],
        "hostIP": "172.22.0.2",
        "phase": "Failed",
        "podIP": "10.42.0.70",
        "podIPs": [
            {
                "ip": "10.42.0.70"
            }
        ],
        "qosClass": "Burstable",
        "startTime": "2020-07-14T15:36:17Z"
    }
}

@alexec
Copy link
Contributor

alexec commented Jul 14, 2020

Bug found:

 controller | time="2020-07-14T08:39:44-07:00" level=info msg="insignificant pod change"

Deleting pod is not "insignificant"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug type/regression Regression from previous behavior (a specific type of bug)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants