Open
Description
Pre-requisites
- I have double-checked my configuration
- 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. - I have searched existing issues and could not find a match for this bug
- I'd like to contribute the fix myself (see contributing guide)
What happened? What did you expect to happen?
Same issue as #10182 but for Workflow.Spec.Arguments
(and referenced via {{workflow.parameters.param-name}}
) which are dealt with in a different code path here:
argo-workflows/workflow/controller/operator.go
Lines 646 to 659 in bd13b1c
Which means passing a value
to an argument that uses a ValueFrom.ConfigMapKeyRef
does nothing, when it should prioritise the value
to match template input behaviour. A workaround is moving the config map input to a template to get the fixed behaviour from #10182.
Version(s)
v3.6.5
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflow that uses private images.
apiVersion: v1
kind: ConfigMap
metadata:
name: config-properties
namespace: argo
labels:
workflows.argoproj.io/configmap-type: Parameter
data:
message: "message from config map"
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: wf-template-echo
namespace: argo
spec:
entrypoint: echo
arguments:
parameters:
- name: message
valueFrom:
configMapKeyRef:
name: config-properties
key: message
templates:
- name: echo
container:
image: busybox
command: [echo]
args: ["{{workflow.parameters.message}}"]
---
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: wf-parameter-overwrite-
namespace: argo
spec:
entrypoint: echo
arguments:
parameters:
- name: message
value: "configmap argument overwrite with argument"
workflowTemplateRef:
name: wf-template-echo
Logs from the workflow controller
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}
time="2025-04-24T14:04:56.898Z" level=info msg="Processing workflow" Phase= ResourceVersion=864971 namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.906Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.906Z" level=info msg="Updated phase -> Running" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.906Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.906Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.906Z" level=info msg="Pod node wf-parameter-overwrite-8z8bv initialized Pending" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.907Z" level=warning msg="couldn't get boundaryTemplate through nodeName wf-parameter-overwrite-8z8bv" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.916Z" level=info msg="Created pod: wf-parameter-overwrite-8z8bv (wf-parameter-overwrite-8z8bv)" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.916Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.916Z" level=info msg=reconcileAgentPod namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56Z" level=info msg="add pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.922Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=864975 workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.922Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=864975 namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.922Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.922Z" level=info msg="node unchanged" namespace=argo nodeID=wf-parameter-overwrite-8z8bv workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.922Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56.922Z" level=info msg=reconcileAgentPod namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:56Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:04:58Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:00Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:01Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:02Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:03Z" level=info msg="update pod event" pod=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.933Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=864975 namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.939Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=1 workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.940Z" level=info msg="task-result changed" namespace=argo nodeID=wf-parameter-overwrite-8z8bv workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.941Z" level=info msg="node changed" namespace=argo new.message= new.phase=Succeeded new.progress=0/1 nodeID=wf-parameter-overwrite-8z8bv old.message= old.phase=Pending old.progress=0/1 workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.943Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.943Z" level=info msg=reconcileAgentPod namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.943Z" level=info msg="Updated phase Running -> Succeeded" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.944Z" level=info msg="Marking workflow completed" namespace=argo workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06.959Z" level=info msg="Workflow update successful" namespace=argo phase=Succeeded resourceVersion=865012 workflow=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06Z" level=info msg="queueing pod for cleanup" action=labelPodCompleted namespace=argo podName=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:06Z" level=info msg="cleaning up pod" action=labelPodCompleted key=argo/wf-parameter-overwrite-8z8bv/labelPodCompleted namespace=argo podName=wf-parameter-overwrite-8z8bv
time="2025-04-24T14:05:07Z" level=info msg="delete pod event" pod=wf-parameter-overwrite-8z8bv
Logs from in your workflow's wait container
kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
time="2025-04-24T14:05:01.152Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2025-04-24T14:05:01.152Z" level=info msg="No output parameters"
time="2025-04-24T14:05:01.152Z" level=info msg="No output artifacts"
time="2025-04-24T14:05:01.154Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: wf-parameter-overwrite-8z8bv/wf-parameter-overwrite-8z8bv/main.log"
time="2025-04-24T14:05:01.154Z" level=info msg="Creating minio client using static credentials" endpoint="minio:9000"
time="2025-04-24T14:05:01.154Z" level=info msg="Saving file to s3" bucket=my-bucket endpoint="minio:9000" key=wf-parameter-overwrite-8z8bv/wf-parameter-overwrite-8z8bv/main.log path=/tmp/argo/outputs/logs/main.log
time="2025-04-24T14:05:01.178Z" level=info msg="Save artifact" artifactName=main-logs duration=23.951542ms error="<nil>" key=wf-parameter-overwrite-8z8bv/wf-parameter-overwrite-8z8bv/main.log
time="2025-04-24T14:05:01.178Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2025-04-24T14:05:01.178Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2025-04-24T14:05:01.208Z" level=info msg="Alloc=11599 TotalAlloc=17022 Sys=23381 NumGC=4 Goroutines=10"