test_always_same_order in TestOrdered in deployment_graph.py fails randomly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Committed
|
High
|
Dima Shulyak |
Bug Description
./run_tests.sh -t nailgun/
Error is:
def test_always_
> ['a', 'c', 'b', 'd', 'e'])
E AssertionError: Lists differ: ['a', 'd', 'c', 'b', 'e'] != ['a', 'c', 'b', 'd', 'e']
E
E First differing element 1:
E d
E c
E
E - ['a', 'd', 'c', 'b', 'e']
E + ['a', 'c', 'b', 'd', 'e']
It seems that inner structure of graph is not completely deterministic and in some cases may be sorted in a wrong way (`nx.topologica
My proposal for a fix: make TASKS graph definition in the test linear (but I don't know why the test was there to begin with, so this may not be a proper approach).
It is possible to reproduce this on master on commit a3c259a48757872
tags: | added: tech-tebt |
tags: |
added: feature-tasks tech-debt removed: tech-tebt |
Changed in fuel: | |
milestone: | none → 6.1 |
tags: | removed: module-nailgun tech-debt |
Changed in fuel: | |
status: | New → Incomplete |
status: | Incomplete → Confirmed |
importance: | Undecided → Medium |
tags: | added: tech-debt |
tags: |
added: module-tasks removed: feature-tasks |
Topology should be deterministic, that is why i added
https:/ /github. com/stackforge/ fuel-web/ blob/master/ nailgun/ nailgun/ orchestrator/ deployment_ graph.py# L56
The problem is that dictionaries are used for internal data structures