Search code examples
argo-workflows

Why doesn't this argo workflow run?


I am trying to configure my Argo workflows.

I know how to correct an error, but how do I debug if they do not run?

I am running Argo 3.0.10 on Ubuntu 20.04

argo: v3.0.10
  BuildDate: 2021-08-18T23:41:44Z
  GitCommit: 0177e73b962136200517b7f301cd98cfbed02a31
  GitTreeState: clean
  GitTag: v3.0.10
  GoVersion: go1.16.6
  Compiler: gc
  Platform: linux/amd64

I apply the below YAML using the following command

argo submit test.yaml --watch:

{
   "apiVersion": "argoproj.io/v1alpha1",
   "kind": "Workflow",
   "metadata": {
      "annotations": {
         "argo": "workflows"
      },
      "generateName": "hello-world-",
      "labels": {
         "workflows.argoproj.io/archive-strategy": "false"
      },
      "namespace": "argo"
   },
   "spec": {
      "entrypoint": "entrypoint",
      "parallelism": 3,
      "podGC": {
         "strategy": "OnWorkflowSuccess"
      },
      "securityContext": {
         "fsGroup": 2000,
         "runAsGroup": 3000,
         "runAsNonRoot": true,
         "runAsUser": 1000
      },
      "serviceAccountName": "argouser",
      "templates": [
         {
            "container": {
               "args": [
                  "hello world"
               ],
               "command": [
                  "cowsay"
               ],
               "image": "docker/whalesay:latest",
               "resources": {
                  "limits": {
                     "cpu": "100m",
                     "memory": "32Mi"
                  }
               }
            },
            "name": "entrypoint"
         }
      ],
      "ttlStrategy": {
         "secondsAfterSuccess": 5
      }
   }
}

As far as I can tell, the pods are never created and there is no record of them, however, the workflow exists. Here is the output of kubectl describe for the workflow:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  annotations:
    argo: workflows
  creationTimestamp: "2021-09-07T20:48:37Z"
  generateName: hello-world-
  generation: 1
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  name: hello-world-p6h4k
  namespace: argo
  resourceVersion: "14801149"
  uid: ee28ae8d-970e-47c6-83ee-fcdc6db44c39
spec:
  arguments: {}
  entrypoint: entrypoint
  parallelism: 3
  podGC:
    strategy: OnWorkflowSuccess
  securityContext:
    fsGroup: 2000
    runAsGroup: 3000
    runAsNonRoot: true
    runAsUser: 1000
  serviceAccountName: argouser
  templates:
  - container:
      args:
      - hello world
      command:
      - cowsay
      image: docker/whalesay:latest
      name: ""
      resources:
        limits:
          cpu: 100m
          memory: 32Mi
    inputs: {}
    metadata: {}
    name: entrypoint
    outputs: {}
  ttlStrategy:
    secondsAfterSuccess: 5
status:
  finishedAt: null
  startedAt: null

and the "error" message is:

Name:                hello-world-p6h4k
Namespace:           argo
ServiceAccount:      argouser
Status:              Pending
Created:             Tue Sep 07 20:48:37 +0000 (now)
Progress:
FATA[2021-09-07T20:48:37.186Z] workflows.argoproj.io "hello-world-p6h4k" not found

Solution

  • Thanks to @Michael Crenshaw for the tips!

    I looked at the workflow-controller-logs and the workflow did run successfully, but did not output any argo logs and the workflow is still listed as pending. I am still looking for the correct configuration, so I am not certain how these messages are inconsistent. If I find the answer, I will post it here.