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

containerSet: failed to look-up entrypoint/cmd for image ""

Open LukaszRacon opened this issue 2 years ago • 5 comments

Pre-requisites

  • [X] I have double-checked my configuration
  • [X] I can confirm the issues exists when I tested with :latest
  • [ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?

Running containerSet fails with error: "failed to look-up entrypoint/cmd for image "", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: could not parse reference:"

Sample workflow:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: test
spec:
  entrypoint: main
  templates:
    - name: main
      containerSet:
        containers:
          - name: a
            image: argoproj/argosay:v2
            command: [ sh, -c ]
            args: [ echo, hi, /workspace/out ]
          - name: main
            image: argoproj/argosay:v2
            command: [ sh, -c ]
            args: [ echo, hi, /workspace/out ]

Version

v3.4.1 / helm chart 0.20.1

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

curl -s https://raw.githubusercontent.com/argoproj/argo-workflows/master/examples/container-set-template/sequence-workflow.yaml | sed -E 's/generateName: sequence-/name: test/g' > sequence-wf.yaml
kubectl apply -f sequence-wf.yaml

Note: adding args and command attributes does not help.

Logs from the workflow controller

msg="Event(v1.ObjectReference{Kind:"Workflow", Namespace:"default", Name:"test", APIVersion:"argoproj.io/v1alpha1", ResourceVersion:"19783990", FieldPath:""}): type: 'Normal' reason: 'WorkflowNodeRunning' Running node test: failed to look-up entrypoint/cmd for image "", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: could not parse reference: "

Logs from in your workflow's wait container

n/a

LukaszRacon avatar Oct 19 '22 18:10 LukaszRacon

Hi @LukaszRacon

I assume you are aware of the lookup breaking change in the 3.4.x: https://argoproj.github.io/argo-workflows/upgrading/#feat-add-entrypoint-lookup-fixes-8344

The implementation for config look-up was incorrect (it allowed you to specify args but not entrypoint). args has been removed to correct the behaviour.

We were going through this change recently, hope you'll adjust your workflows with a minimum effort.

vitalyrychkov avatar Oct 20 '22 14:10 vitalyrychkov

Thank you for pointer to #8344. It looks like there is a different issue with containerSet.

I tested these:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: test
spec:
  entrypoint: main
  templates:
    - name: main
      containerSet:
        containers:
          - name: a
            image: docker/whalesay:latest
            command: [cowsay]
          - name: b
            image: docker/whalesay:latest
            command: [cowsay]
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: test
spec:
  entrypoint: main
  templates:
    - name: main
      containerSet:
        containers:
          - name: a
            image: docker/whalesay:latest
          - name: b
            image: docker/whalesay:latest

Both fail the same way failed to look-up entrypoint/cmd for image "", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: could not parse reference:

LukaszRacon avatar Oct 20 '22 15:10 LukaszRacon

base on https://github.com/argoproj/argo-workflows/commit/73ea7c72c99a073dbe3ec0a420e112945916fb94

command should be cmd

maxisam avatar Oct 21 '22 15:10 maxisam

We discussed it here https://github.com/argoproj/argo-workflows/pull/8345#discussion_r849850826

terrytangyuan avatar Oct 21 '22 16:10 terrytangyuan

Weird. I just tested the workflow template in 3.4.1

command works cmd doesn't work

maxisam avatar Oct 21 '22 16:10 maxisam

Hi,

I faced also this problem of failed to look-up entrypoint/cmd for image "" but in my case was when using podSpecPatchon the template.

If I remove podSpecPatch code from my ClusterWorkflowTemplate the error goes away.

yriveiro avatar Jan 13 '23 11:01 yriveiro

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

stale[bot] avatar Sep 17 '23 21:09 stale[bot]