Task with wait-before resets context
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mistral |
Confirmed
|
Medium
|
Unassigned |
Bug Description
The following workflow will go into an infinite loop if there's a wait-before in task2. The state of var1 is reset in task2 if there's a wait-before. If wait-before is removed, the value in var1 is saved correctly.
version: '2.0'
sandbox.pub_wait:
type: direct
vars:
var1: 0
retries: 3
output:
vars:
- <% $.var1 %>
- <% $.var2 %>
tasks:
init:
action: std.noop
- task1
task1:
action: std.noop
- task2
task2:
action: std.echo
input:
- task1: <% $.var1 <= $.retries %>
Changed in mistral: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
It seems like the use of the cache @ https:/ /github. com/openstack/ mistral/ blob/master/ mistral/ workflow/ lookup_ utils.py# L62 to get upstream task executions leads to getting the wrong in_context.