argoproj / argoproj/argo-workflows

containerSet: `failed to look-up entrypoint/cmd for image ""` `could not parse reference`

Open
#9,863 10 comments 0 reactions 0 assignees View on GitHub
area/executor area/templates/container-set P3
Dominant language
Go
Stars
17k
Forks
3.7k
Avg merge
1d 20h
Merged PRs (30d)
138

Description

### 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](https://github.com/argoproj/argo-workflows/blob/master/docs/CONTRIBUTING.md))

### 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:
```yaml
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.

```YAML
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

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure with examples/container-set-template/sequence-workflow.yaml and the supplied containerSet workflow on Kubernetes. Start by tracing the Emissary executor path described in the error and compare it with the containerSet example. Done means the workflow runs without the empty-image or unparseable-reference error when command and args are specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.