argo-workflows icon indicating copy to clipboard operation
argo-workflows copied to clipboard

Unable to run a simple HTTP template: `Error: unknown (get workflowtasksets.argoproj.io)`

Open julienteisseire opened this issue 4 months ago • 0 comments

Pre-requisites

  • [X] I have double-checked my configuration
  • [X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
  • [X] I have searched existing issues and could not find a match for this bug
  • [X] I'd like to contribute the fix myself (see contributing guide)

What happened? What did you expect to happen?

Hello, I am trying HTTP template with the example workflow. Agent executor is in Crashloopbackoff after submitting my simple workflow. I work in a dedicated namespace : commanding

I checked service account, agent role and role bindings. I don't have a 403 error, but only an error in agent usage.

My kubectl status :

commanding           workflow-engine-argo-workflows-server-9596d7666-vd7n2             1/1     Running            0               41m
commanding           workflow-engine-argo-workflows-workflow-controller-7cffff9dcbxx   1/1     Running            0               41m
commanding           http-template-26wpj-1340600742-agent                              0/1     CrashLoopBackOff   5 (2m ago)      5m13s
commanding           http-template-8rnbl-1340600742-agent                              0/1     CrashLoopBackOff   1 (2s ago)      12s
commanding           http-template-bhj8t-1340600742-agent                              0/1     CrashLoopBackOff   7 (35s ago)     11m
commanding           http-template-ng6cn-1340600742-agent                              0/1     CrashLoopBackOff   9 (106s ago)    23m
commanding           http-template-s46mp-1340600742-agent                              0/1     CrashLoopBackOff   6 (2m43s ago)   8m52s

My error :

kubectl logs http-template-8rnbl-1340600742-agent -n commanding
time="2024-10-16T15:22:45.620Z" level=info msg="Starting Workflow Executor" version=v3.5.11
time="2024-10-16T15:22:45.710Z" level=info msg="Starting Agent" requeueTime=10s taskWorkers=16 workflow=http-template-8rnbl
Error: unknown (get workflowtasksets.argoproj.io)
Usage:
  argoexec agent main [flags]

Flags:
  -h, --help   help for main

Global Flags:
      --as string                      Username to impersonate for the operation
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --as-uid string                  UID to impersonate for the operation
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
      --gloglevel int                  Set the glog logging level
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
      --kubeconfig string              Path to a kube config. Only required if out-of-cluster
      --log-format string              The formatter to use for logs. One of: text|json (default "text")
      --loglevel string                Set the logging level. One of: debug|info|warn|error (default "info")
  -n, --namespace string               If present, the namespace scope for this CLI request
      --password string                Password for basic authentication to the API server
      --proxy-url string               If provided, this URL will be used to connect via proxy
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
      --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
      --username string                Username for basic authentication to the API server

unknown (get workflowtasksets.argoproj.io)

I tried everything in order to solve this issue, but I don't understand what is the cause of the error. NB : other workflows not using http template are working fine

Thank you

Version(s)

v3.5.11

Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: http-template-
  namespace: commanding
  labels:
    workflows.argoproj.io/test: "true"
  annotations:
    workflows.argoproj.io/description: |
      Http template will demostrate http template functionality
    workflows.argoproj.io/version: '>= 3.2.0'
spec:
  entrypoint: main
  serviceAccountName: argo-workflow
  templates:
    - name: main
      steps:
        - - name: good
            template: http
            arguments:
              parameters: [{name: url, value: "https://raw.githubusercontent.com/argoproj/argo-workflows/4e450e250168e6b4d51a126b784e90b11a0162bc/pkg/apis/workflow/v1alpha1/generated.swagger.json"}]
          - name: bad
            template: http
            continueOn:
              failed: true
            arguments:
              parameters: [{name: url, value: "https://raw.githubusercontent.com/argoproj/argo-workflows/thisisnotahash/pkg/apis/workflow/v1alpha1/generated.swagger.json"}]

    - name: http
      inputs:
        parameters:
          - name: url
      http:
       # url: http://dummy.restapiexample.com/api/v1/employees
       url: "{{inputs.parameters.url}}"

Logs from the workflow controller

time="2024-10-16T15:30:09.799Z" level=info msg="Creating TaskSet" namespace=commanding workflow=http-template-ng6cn
time="2024-10-16T15:30:09.812Z" level=info msg=reconcileAgentPod namespace=commanding workflow=http-template-ng6cn
time="2024-10-16T15:30:09.812Z" level=info msg=updateAgentPodStatus namespace=commanding workflow=http-template-ng6cn
time="2024-10-16T15:30:09.812Z" level=info msg=assessAgentPodStatus namespace=commanding podName=http-template-ng6cn-1340600742-agent
time="2024-10-16T15:31:14.797Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=3296 namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.798Z" level=info msg="Task-result reconciliation" namespace=commanding numObjs=0 workflow=http-template-bhj8t
time="2024-10-16T15:31:14.798Z" level=info msg=updateAgentPodStatus namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.798Z" level=info msg=assessAgentPodStatus namespace=commanding podName=http-template-bhj8t-1340600742-agent
time="2024-10-16T15:31:14.798Z" level=error msg="was unable to obtain node for http-template-bhj8t-2166136261" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.799Z" level=info msg="Workflow step group node http-template-bhj8t-4112562815 not yet completed" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.799Z" level=info msg="TaskSet Reconciliation" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.799Z" level=info msg="Creating TaskSet" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.817Z" level=info msg=reconcileAgentPod namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.817Z" level=info msg=updateAgentPodStatus namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:14.817Z" level=info msg=assessAgentPodStatus namespace=commanding podName=http-template-bhj8t-1340600742-agent
time="2024-10-16T15:31:29.742Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=3296 namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.743Z" level=info msg="Task-result reconciliation" namespace=commanding numObjs=0 workflow=http-template-bhj8t
time="2024-10-16T15:31:29.744Z" level=info msg=updateAgentPodStatus namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.745Z" level=info msg=assessAgentPodStatus namespace=commanding podName=http-template-bhj8t-1340600742-agent
time="2024-10-16T15:31:29.745Z" level=error msg="was unable to obtain node for http-template-bhj8t-2166136261" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.746Z" level=info msg="Workflow step group node http-template-bhj8t-4112562815 not yet completed" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.746Z" level=info msg="TaskSet Reconciliation" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.747Z" level=info msg="Creating TaskSet" namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.761Z" level=info msg=reconcileAgentPod namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.761Z" level=info msg=updateAgentPodStatus namespace=commanding workflow=http-template-bhj8t
time="2024-10-16T15:31:29.761Z" level=info msg=assessAgentPodStatus namespace=commanding podName=http-template-bhj8t-1340600742-agent

Logs from in your workflow's wait container

error: container wait is not valid for pod http-template-bhj8t-1340600742-agent

julienteisseire avatar Oct 16 '24 15:10 julienteisseire