← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1196717] Re: _order_steps() method of Workflow is broken

 

Looks like this fix was already released here:
https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/data_processing/utils/workflow_helpers.py#L218

** Changed in: horizon
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1196717

Title:
  _order_steps() method of Workflow is broken

Status in OpenStack Dashboard (Horizon):
  Fix Released

Bug description:
  The method is here:
  https://github.com/openstack/horizon/blob/grizzly-2/horizon/workflows/base.py#L619

  The method sorts steps which were dynamically added to workflow with
  register(...). The steps are compared using their 'before' and 'after'
  fields.  The proper way to compare such elements having "incomplete"
  order is topological sorting. The method instead employs an incorrect
  greedy algorithm. The method can fail if input list has size of 3 or
  more.

  I see two ways to fix the issue:

  1. (preferred) remove sorting and simply show tabs in the order they
  were registered. That makes code simpler - we get rid of 'after' and
  'before' fields of Step and _order_steps() method of Workflow. On the
  other hand seems like nobody uses that feature, otherwise they would
  already bump into the issue.

  2. Implement proper sorting.

  I can provide a fix for that issue

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1196717/+subscriptions