parallel tasks not respecting failFast: true
#12066
-
I used a DAG and you can see that I set step1: A
/ \
step2: B C
| |
step3: D E
\ /
step4: F B failed, D was not executed, but C and E were executed. apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
annotations:
workflows.argoproj.io/pod-name-format: v2
creationTimestamp: '2023-10-23T06:16:08Z'
generation: 7
labels:
workflows.argoproj.io/completed: 'true'
workflows.argoproj.io/phase: Failed
managedFields:
- apiVersion: argoproj.io/v1alpha1
fieldsType: FieldsV1
fieldsV1:
f:spec:
.: {}
f:arguments: {}
f:artifactGC: {}
f:entrypoint: {}
f:serviceAccountName: {}
f:templates: {}
f:status: {}
manager: chaosmeta
operation: Update
time: '2023-10-23T06:16:08Z'
- apiVersion: argoproj.io/v1alpha1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:workflows.argoproj.io/pod-name-format: {}
f:labels:
.: {}
f:workflows.argoproj.io/completed: {}
f:workflows.argoproj.io/phase: {}
f:status:
f:artifactGCStatus: {}
f:artifactRepositoryRef: {}
f:conditions: {}
f:finishedAt: {}
f:nodes: {}
f:phase: {}
f:progress: {}
f:resourcesDuration: {}
f:startedAt: {}
manager: workflow-controller
operation: Update
time: '2023-10-23T06:17:29Z'
name: 1716337692653916160331698041768experiment
namespace: chaosmeta
resourceVersion: '4848998'
selfLink: >-
/apis/argoproj.io/v1alpha1/namespaces/chaosmeta/workflows/1716337692653916160331698041768experiment
uid: 7e5b93ad-a8b7-4221-9b4e-2e7981143241
spec:
arguments: {}
artifactGC:
strategy: OnWorkflowCompletion
entrypoint: main
serviceAccountName: chaosmeta-platform
templates:
- inputs:
parameters:
- name: Experiment
metadata: {}
name: experiment-fault
outputs: {}
resource:
action: create
failureCondition: status.status == failed
manifest: '{{inputs.parameters.Experiment}}'
successCondition: status.phase == recover,status.status == success
- inputs:
parameters:
- name: Experiment
metadata: {}
name: experiment-inject
outputs: {}
resource:
action: create
failureCondition: status.status == failed
manifest: '{{inputs.parameters.Experiment}}'
successCondition: status.status == success
- inputs:
parameters:
- name: time
metadata: {}
name: raw-suspend
outputs: {}
suspend:
duration: '{{inputs.parameters.time}}'
- dag:
failFast: true
tasks:
- arguments:
parameters:
- name: time
value: 0s
name: BeginWaitTask
template: raw-suspend
- arguments:
parameters:
- name: Experiment
value: |
apiVersion: chaosmeta.io/v1alpha1
kind: CommonMeasure
metadata:
creationTimestamp: null
name: inject-measure-monitor-monitor-e-1716337692662304768331698041768node
namespace: chaosmeta
spec:
args:
- key: query
value: node_memory_MemAvailable_bytes{instance="192.168.2.189:9100"}
duration: 300s
interval: 3s
judgement:
judgeType: absolutevalue
judgeValue: 5000,10000
measureType: monitor
stopped: false
successCount: 3
status:
createTime: ""
failedMeasure: 0
initialData: ""
meetTime: ""
message: ""
nextTime: ""
status: ""
successMeasure: 0
totalMeasure: 0
updateTime: ""
dependencies:
- BeginWaitTask
name: >-
inject-measure-monitor-monitor-e-1716337692662304768331698041768node
template: experiment-inject
- arguments:
parameters:
- name: Experiment
value: |
apiVersion: chaosmeta.io/v1alpha1
kind: Experiment
metadata:
creationTimestamp: null
name: inject-fault-kubernetes-pod-e-1716337692733607936331698041768node
namespace: chaosmeta
spec:
experiment:
args:
- key: add
value: samson=samson01
valueType: string
duration: 60s
fault: label
target: pod
scope: kubernetes
selector:
- name:
- docker-desktop
targetPhase: inject
status:
createTime: ""
detail: {}
message: ""
phase: ""
status: ""
updateTime: ""
dependencies:
- >-
inject-measure-monitor-monitor-e-1716337692662304768331698041768node
name: inject-fault-kubernetes-pod-e-1716337692733607936331698041768node
template: experiment-fault
- arguments:
parameters:
- name: time
value: 60s
dependencies:
- BeginWaitTask
name: >-
before-wait-1716337692653916160331698041768experiment-1716337692750385152331698041768node
template: raw-suspend
- arguments:
parameters:
- name: Experiment
value: |
apiVersion: chaosmeta.io/v1alpha1
kind: Experiment
metadata:
creationTimestamp: null
name: inject-fault-kubernetes-pod-e-1716337692758773760331698041768node
namespace: chaosmeta
spec:
experiment:
args:
- key: add
value: samson=samson01
valueType: string
duration: 60s
fault: label
target: pod
scope: kubernetes
selector:
- name:
- docker-desktop
targetPhase: inject
status:
createTime: ""
detail: {}
message: ""
phase: ""
status: ""
updateTime: ""
dependencies:
- >-
before-wait-1716337692653916160331698041768experiment-1716337692750385152331698041768node
name: inject-fault-kubernetes-pod-e-1716337692758773760331698041768node
template: experiment-fault
- arguments:
parameters:
- name: time
value: 0s
dependencies:
- >-
inject-fault-kubernetes-pod-e-1716337692733607936331698041768node
- >-
inject-fault-kubernetes-pod-e-1716337692758773760331698041768node
name: EndWaitTask
template: raw-suspend
inputs: {}
metadata: {}
name: main
outputs: {}
status:
artifactGCStatus:
notSpecified: true
artifactRepositoryRef:
artifactRepository: {}
default: true
conditions:
- status: 'False'
type: PodRunning
- status: 'True'
type: Completed
finishedAt: '2023-10-23T06:17:29Z'
nodes:
1716337692653916160331698041768experiment:
children:
- 1716337692653916160331698041768experiment-3239357867
displayName: 1716337692653916160331698041768experiment
finishedAt: '2023-10-23T06:17:29Z'
id: 1716337692653916160331698041768experiment
name: 1716337692653916160331698041768experiment
outboundNodes:
- 1716337692653916160331698041768experiment-2445327715
phase: Failed
progress: 3/4
resourcesDuration:
cpu: 13
memory: 13
startedAt: '2023-10-23T06:16:08Z'
templateName: main
templateScope: local/1716337692653916160331698041768experiment
type: DAG
1716337692653916160331698041768experiment-1115413371:
boundaryID: 1716337692653916160331698041768experiment
children:
- 1716337692653916160331698041768experiment-2445327715
displayName: inject-fault-kubernetes-pod-e-1716337692733607936331698041768node
finishedAt: '2023-10-23T06:16:28Z'
id: 1716337692653916160331698041768experiment-1115413371
message: 'omitted: depends condition not met'
name: >-
1716337692653916160331698041768experiment.inject-fault-kubernetes-pod-e-1716337692733607936331698041768node
phase: Omitted
startedAt: '2023-10-23T06:16:28Z'
templateName: experiment-fault
templateScope: local/1716337692653916160331698041768experiment
type: Skipped
1716337692653916160331698041768experiment-1741859545:
boundaryID: 1716337692653916160331698041768experiment
children:
- 1716337692653916160331698041768experiment-2445327715
displayName: inject-fault-kubernetes-pod-e-1716337692758773760331698041768node
finishedAt: '2023-10-23T06:17:18Z'
hostNodeName: docker-desktop
id: 1716337692653916160331698041768experiment-1741859545
inputs:
parameters:
- name: Experiment
value: |
apiVersion: chaosmeta.io/v1alpha1
kind: Experiment
metadata:
creationTimestamp: null
name: inject-fault-kubernetes-pod-e-1716337692758773760331698041768node
namespace: chaosmeta
spec:
experiment:
args:
- key: add
value: samson=samson01
valueType: string
duration: 60s
fault: label
target: pod
scope: kubernetes
selector:
- name:
- docker-desktop
targetPhase: inject
status:
createTime: ""
detail: {}
message: ""
phase: ""
status: ""
updateTime: ""
name: >-
1716337692653916160331698041768experiment.inject-fault-kubernetes-pod-e-1716337692758773760331698041768node
outputs:
exitCode: '0'
phase: Succeeded
progress: 1/1
resourcesDuration:
cpu: 6
memory: 6
startedAt: '2023-10-23T06:17:08Z'
templateName: experiment-fault
templateScope: local/1716337692653916160331698041768experiment
type: Pod
1716337692653916160331698041768experiment-2445327715:
boundaryID: 1716337692653916160331698041768experiment
displayName: EndWaitTask
finishedAt: '2023-10-23T06:17:29Z'
id: 1716337692653916160331698041768experiment-2445327715
message: 'omitted: depends condition not met'
name: 1716337692653916160331698041768experiment.EndWaitTask
phase: Omitted
startedAt: '2023-10-23T06:17:29Z'
templateName: raw-suspend
templateScope: local/1716337692653916160331698041768experiment
type: Skipped
1716337692653916160331698041768experiment-3043198427:
boundaryID: 1716337692653916160331698041768experiment
children:
- 1716337692653916160331698041768experiment-1741859545
displayName: >-
before-wait-1716337692653916160331698041768experiment-1716337692750385152331698041768node
finishedAt: '2023-10-23T06:17:08Z'
id: 1716337692653916160331698041768experiment-3043198427
inputs:
parameters:
- name: time
value: 60s
name: >-
1716337692653916160331698041768experiment.before-wait-1716337692653916160331698041768experiment-1716337692750385152331698041768node
phase: Succeeded
progress: 1/1
resourcesDuration:
cpu: 6
memory: 6
startedAt: '2023-10-23T06:16:08Z'
templateName: raw-suspend
templateScope: local/1716337692653916160331698041768experiment
type: Suspend
1716337692653916160331698041768experiment-3149729536:
boundaryID: 1716337692653916160331698041768experiment
children:
- 1716337692653916160331698041768experiment-1115413371
displayName: inject-measure-monitor-monitor-e-1716337692662304768331698041768node
finishedAt: '2023-10-23T06:16:20Z'
hostNodeName: docker-desktop
id: 1716337692653916160331698041768experiment-3149729536
inputs:
parameters:
- name: Experiment
value: |
apiVersion: chaosmeta.io/v1alpha1
kind: CommonMeasure
metadata:
creationTimestamp: null
name: inject-measure-monitor-monitor-e-1716337692662304768331698041768node
namespace: chaosmeta
spec:
args:
- key: query
value: node_memory_MemAvailable_bytes{instance="192.168.2.189:9100"}
duration: 300s
interval: 3s
judgement:
judgeType: absolutevalue
judgeValue: 5000,10000
measureType: monitor
stopped: false
successCount: 3
status:
createTime: ""
failedMeasure: 0
initialData: ""
meetTime: ""
message: ""
nextTime: ""
status: ""
successMeasure: 0
totalMeasure: 0
updateTime: ""
message: >-
Error (exit code 1): failure condition '{status.status == [failed]}'
evaluated true
name: >-
1716337692653916160331698041768experiment.inject-measure-monitor-monitor-e-1716337692662304768331698041768node
outputs:
exitCode: '1'
phase: Failed
progress: 0/1
resourcesDuration:
cpu: 7
memory: 7
startedAt: '2023-10-23T06:16:08Z'
templateName: experiment-inject
templateScope: local/1716337692653916160331698041768experiment
type: Pod
1716337692653916160331698041768experiment-3239357867:
boundaryID: 1716337692653916160331698041768experiment
children:
- 1716337692653916160331698041768experiment-3149729536
- 1716337692653916160331698041768experiment-3043198427
displayName: BeginWaitTask
finishedAt: '2023-10-23T06:16:08Z'
id: 1716337692653916160331698041768experiment-3239357867
inputs:
parameters:
- name: time
value: 0s
name: 1716337692653916160331698041768experiment.BeginWaitTask
phase: Succeeded
progress: 1/1
resourcesDuration:
cpu: 13
memory: 13
startedAt: '2023-10-23T06:16:08Z'
templateName: raw-suspend
templateScope: local/1716337692653916160331698041768experiment
type: Suspend
phase: Failed
progress: 3/4
resourcesDuration:
cpu: 13
memory: 13
startedAt: '2023-10-23T06:16:08Z' |
Beta Was this translation helpful? Give feedback.
Answered by
agilgur5
Oct 24, 2023
Replies: 2 comments
-
Beta Was this translation helpful? Give feedback.
0 replies
-
There's a bug in the |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
agilgur5
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There's a bug in the
failFast
logic that you are probably hitting: #10312