yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #80415
[Bug 1848499] Re: tests fail with networkx 2.4: "AttributeError: 'DiGraph' object has no attribute 'node'"
Reviewed: https://review.opendev.org/689152
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=be09b73796b2aa22d0888d98eb29315f2f4786ab
Submitter: Zuul
Branch: master
commit be09b73796b2aa22d0888d98eb29315f2f4786ab
Author: Balazs Gibizer <balazs.gibizer@xxxxxxxx>
Date: Thu Oct 17 15:28:14 2019 +0200
Make sure tox install requirements.txt with upper-constraints
Ieb4ab13cf8ca5683fcd7b18ed669e8a26659bff1 removed the upper-constraints
from the install_command which caused that only the test-requirements
are installed with the upper-constraints enforced. This caused that when
tox installed nova in the virtual env it installed the content of the
requirement.txt without enforcing the upper-constraints. Today networkx
2.4 package has been released to pypi. The taskflow lib depends on
networkx but does not pin the requirement but the openstack
upper-constraints pins the networkx requirements properly. Nova depends
on taskflow therefore when nova is installed by tox without the
upper-constraints the new networkx 2.4 is installed. This broke the nova
unit tests.
This patch makes sure that all the requirements are installed with the
upper-constraints enforced.
Change-Id: Iba797243d2a137b551223165a1af1a8676bcea02
Closes-Bug: #1848499
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1848499
Title:
tests fail with networkx 2.4: "AttributeError: 'DiGraph' object has no
attribute 'node'"
Status in OpenStack Compute (nova):
Fix Released
Bug description:
https://c6fecb2db5c55fa0effa-
6229cc6450d9b491384804026d2fbd81.ssl.cf5.rackcdn.com/688980/1/gate
/openstack-tox-py36/71a8bdd/testr_results.html.gz
ft1.2: nova.tests.unit.virt.powervm.tasks.test_vm.TestVMTasks.test_power_on_revert_StringException: Traceback (most recent call last):
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/mock/mock.py", line 1330, in patched
return func(*args, **keywargs)
File "/home/zuul/src/opendev.org/openstack/nova/nova/tests/unit/virt/powervm/tasks/test_vm.py", line 90, in test_power_on_revert
self.assertRaises(ValueError, tf_eng.run, flow)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 485, in assertRaises
self.assertThat(our_callable, matcher)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 496, in assertThat
mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 547, in _matchHelper
mismatch = matcher.match(matchee)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/matchers/_exception.py", line 108, in match
mismatch = self.exception_matcher.match(exc_info)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/matchers/_higherorder.py", line 62, in match
mismatch = matcher.match(matchee)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 475, in match
reraise(*matchee)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/_compat3x.py", line 16, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/matchers/_exception.py", line 101, in match
result = matchee()
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 1049, in __call__
return self._callable_object(*self._args, **self._kwargs)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/taskflow/engines/helpers.py", line 162, in run
engine.run()
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/taskflow/engines/action_engine/engine.py", line 247, in run
for _state in self.run_iter(timeout=timeout):
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/taskflow/engines/action_engine/engine.py", line 271, in run_iter
self.compile()
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/fasteners/lock.py", line 306, in wrapper
return f(self, *args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/taskflow/engines/action_engine/engine.py", line 470, in compile
self._runtime.compile()
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/taskflow/engines/action_engine/runtime.py", line 143, in compile
metadata['edge_deciders'] = tuple(deciders_it)
File "/home/zuul/src/opendev.org/openstack/nova/.tox/py36/lib/python3.6/site-packages/taskflow/engines/action_engine/runtime.py", line 75, in _walk_edge_deciders
u_node_kind = graph.node[u_node]['kind']
AttributeError: 'DiGraph' object has no attribute 'node'
Seems this is since networkx 2.4 was released 11 hours ago:
https://pypi.org/project/networkx/2.4/
And upper-constraints aren't being honored for some reason:
networkx===2.2;python_version=='2.7'
networkx===2.3;python_version=='3.4'
networkx===2.3;python_version=='3.5'
networkx===2.3;python_version=='3.6'
networkx===2.3;python_version=='3.7'
I guess maybe because they are a transitive dependency of taskflow
which the powervm driver depends on?
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1848499/+subscriptions
References