Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

skipped dag node marked configmap error after its child node finishes #13329

Open
3 of 4 tasks
tczhao opened this issue Jul 10, 2024 · 3 comments
Open
3 of 4 tasks

skipped dag node marked configmap error after its child node finishes #13329

tczhao opened this issue Jul 10, 2024 · 3 comments

Comments

@tczhao
Copy link
Member

tczhao commented Jul 10, 2024

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?

node A were initially marked skipped as expected and proceed to execute B
image

after B completed, A is marked as error due configmap not found.
image

this behaviour only happens to dag template. Step template works fine.

We expect if a node is skipped, it shouldn't matter if the parameter refers to an empty configmap

Version(s)

3.5.2

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.

metadata:
  name: a2
spec:
  templates:
    - name: echo2
      container:
        name: ''
        image: alpine:3.7
        command:
          - echo
          - abc
    - name: echo1
      inputs:
        parameters:
          - name: abc
            valueFrom:
              configMapKeyRef:
                name: abc
                key: abc
      container:
        name: ''
        image: alpine:3.7
        command:
          - echo
          - abc
    - name: diamond
      steps:
        - - name: A
            template: echo1
            when: 1 == 0
          - name: B
            template: echo2
            dependencies: [ A ]
  entrypoint: diamond

Logs from the workflow controller

kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

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
@tczhao
Copy link
Member Author

tczhao commented Jul 10, 2024

@Joibel
Copy link
Member

Joibel commented Jul 10, 2024

The node.Fulfilled() criteria at

if node != nil && node.Fulfilled() {
feels like somethings in that block shouldn't apply to Skipped nodes.

@tooptoop4
Copy link
Contributor

where da logs?

have u tried after #13547 fix?

similar error in #13505

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants