yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #29119
[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