Skip to content

Controller "Unable to decode an event" error loop upon bad manifests #632

@jlewi

Description

@jlewi

I created a workflow using argo submit. The workflow is stuck in the pending state. Looking at the logs for the workflow controller I see errors

ERROR: logging before flag.Parse: E1228 21:43:36.059789       1 streamwatcher.go:109] Unable to decode an event from the watch stream: unable to decode watch event: v1.Workflow: Spec: v1.WorkflowSpec: Templates: []v1.Template: v1.Template: Steps: [][]v1.WorkflowStep: []v1.WorkflowStep: ReadArrayCB: expect [ or n, but found: {, parsing 485 ..."steps":[{... at {"apiVersion":"argoproj.io/v1alpha1","kind":"Workflow","metadata":{"clusterName":"","creationTimestamp":"2017-12-28T21:16:42Z","deletionGracePeriodSeconds":null,"deletionTimestamp":null,"name":"e2e-test-1228-1311","namespace":"kubeflow-test-infra","resourceVersion":"130790","selfLink":"/apis/argoproj.io/v1alpha1/namespaces/kubeflow-test-infra/workflows/e2e-test-1228-1311","uid":"667379bf-ec14-11e7-b323-42010af0024d"},"spec":{"entrypoint":"e2e","templates":[{"name":"e2e","steps":[{"name":"checkout","template":"checkout"}]},{"container":{"command":["ls","-lR","/mnt/e2e-test-1228-1311"],"image":"busybox:latest","volumeMounts":[{"mountPath":"/mnt/e2e-test-1228-1311","name":"e2e-test-1228-1311"}]},"inputs":{"artifacts":[{"git":{"repo":"https://github.com/google/kubeflow.git","revision":"master"},"name":"kubeflow-source","path":"/mnt/e2e-test-1228-1311/kubeflow"},{"git":{"repo":"https://github.com/tensorflow/k8s.git","revision":"master"},"name":"tensorflow-k8s-source","path":"/mnt/e2e-test-1228-1311/tensorflow_k8s"}]},"name":"checkout"}],"volumeClaimTemplates":{"metadata":{"name":"e2e-test-1228-1311","namespace":"kubeflow-test-infra"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1Gi"}}}}}}

I'm guessing this is due to my spec being invalid somehow. Here's the manifest for my workflow:

---
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: e2e-test-1228-1311
  namespace: kubeflow-test-infra
spec:
  entrypoint: e2e
  templates:
  - name: e2e
    steps:
    - - name: checkout
        template: checkout
  - container:
      command:
      - ls
      - -lR
      - /mnt/e2e-test-1228-1311
      image: busybox:latest
      volumeMounts:
      - mountPath: /mnt/e2e-test-1228-1311
        name: e2e-test-1228-1311
    inputs:
      artifacts:
      - git:
          repo: https://github.com/google/kubeflow.git
          revision: master
        name: kubeflow-source
        path: /mnt/e2e-test-1228-1311/kubeflow
      - git:
          repo: https://github.com/tensorflow/k8s.git
          revision: master
        name: tensorflow-k8s-source
        path: /mnt/e2e-test-1228-1311/tensorflow_k8s
    name: checkout
  volumeClaimTemplates:
  - metadata:
      name: e2e-test-1228-1311
      namespace: kubeflow-test-infra
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions