The entire workflow fails if one of a join task inbound tasks fails

Bug #1635841 reported by Renat Akhmerov
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mistral
Fix Released
High
Renat Akhmerov

Bug Description

Example:

---
version: "2.0"

wf:
  output:
    continue_flag: <% $.get(continue_flag) %>

  task-defaults:
    on-error:
      - change_continue_flag

  tasks:
    task_a:
      action: std.fail
      on-success:
        - task_c: <% $.get(continue_flag) = null %>
        - task_a_process

    task_a_process:
      action: std.noop

    task_b:
      on-success:
        - task_c: <% $.get(continue_flag) = null %>

    task_c:
      join: all

    change_continue_flag:
      publish:
        continue_flag: false

It fails and the following output:

wf (d58c505d-1683-4947-b86f-8bf8e5ab8db8) [state=ERROR, state_info=Failed by tasks: ['task_a'], output={'result': "Failed by tasks: ['task_a']"}]
 task_b [id=3044ba57-3877-4ce1-80c1-64baf98d3468, state=SUCCESS, state_info=None, processed=True, published={}]
  std.noop [id=c05b2472-5db8-4cad-ae34-1a9a27c0e2e0, state=SUCCESS, state_info=None, accepted=True, output={'result': None}]
 task_a [id=d32ecfb0-c0f1-4247-9ced-2a31bbfd224e, state=ERROR, state_info=Failed to run action [action_ex_id=0ab484ba-2418-4b19-ba14-cac963065b64, action_cls='<class 'mistral.actions.action_factory.FailAction'>', attributes='{}', params='{}']
 Fail action expected exception., processed=True, published={}]
  std.fail [id=0ab484ba-2418-4b19-ba14-cac963065b64, state=ERROR, state_info=None, accepted=True, output={'result': "Failed to run action [action_ex_id=0ab484ba-2418-4b19-ba14-cac963065b64, action_cls='<class 'mistral.actions.action_factory.FailAction'>', attributes='{}', params='{}']\n Fail action expected exception."}]
 task_c [id=4feced3c-9bad-40c2-bfa5-6f262cef4947, state=ERROR, state_info=Failed by tasks: ['task_a'], processed=False, published={}]
 change_continue_flag [id=bfa0b538-d7ea-4276-954a-6c3f356fbf11, state=SUCCESS, state_info=None, processed=True, published={'continue_flag': False}]
  std.noop [id=3299e61f-afb6-4949-b370-6ec0f3ead67e, state=SUCCESS, state_info=None, accepted=True, output={'result': None}]

Changed in mistral:
assignee: nobody → Renat Akhmerov (rakhmerov)
milestone: none → ocata-1
importance: Undecided → High
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to mistral (master)

Fix proposed to branch: master
Review: https://review.openstack.org/390010

Changed in mistral:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (master)

Reviewed: https://review.openstack.org/390010
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=9ce3a75aa99b802db70995d233aa7f7d65047b64
Submitter: Jenkins
Branch: master

commit 9ce3a75aa99b802db70995d233aa7f7d65047b64
Author: Renat Akhmerov <email address hidden>
Date: Sat Oct 22 21:39:33 2016 +0700

    Fixing 'join' task completion logic

    * The entire workflow was failing if one of a join task's inbound
      tasks failed even if there was 'on-error' clause in task
      defaults.

    Change-Id: Ie5864740ed6356d87bcedf9a6cfd0e733e8795a8
    Closes-Bug: #1635841

Changed in mistral:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to mistral (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/392102

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on mistral (stable/newton)

Change abandoned by Renat Akhmerov (<email address hidden>) on branch: stable/newton
Review: https://review.openstack.org/392102

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Guy Paz (<email address hidden>) on branch: stable/newton
Review: https://review.openstack.org/392102

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (stable/newton)

Reviewed: https://review.openstack.org/392102
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=372f450f599e869f3eca3db8000a5c1d68f22fe5
Submitter: Jenkins
Branch: stable/newton

commit 372f450f599e869f3eca3db8000a5c1d68f22fe5
Author: Renat Akhmerov <email address hidden>
Date: Sat Oct 22 21:39:33 2016 +0700

    Fixing 'join' task completion logic

    * The entire workflow was failing if one of a join task's inbound
      tasks failed even if there was 'on-error' clause in task
      defaults.

    Change-Id: Ie5864740ed6356d87bcedf9a6cfd0e733e8795a8
    Closes-Bug: #1635841
    (cherry picked from commit 9ce3a75aa99b802db70995d233aa7f7d65047b64)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/mistral 4.0.0.0b1

This issue was fixed in the openstack/mistral 4.0.0.0b1 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.