[PKG-Openstack-devel] Bug#902985: python3-taskflow: incompatibility between python3-taskflow 3.1.0-3 and python3-networkx 2.1-1

Alexandre SKRZYNIARZ alexandre.skrzyniarz at gmail.com
Wed Jul 4 14:50:12 BST 2018


Package: python3-taskflow
Version: 3.1.0-3
Severity: important

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?

I was trying to set up openstack/cinder for self-teaching purpose from buster Debian packages.

I got an error when trying to create a cinder volume from openstack web interface. This is the relevant extract from cinder-api logs:

1d035f8b786d - default default] Caught error: <class 'AttributeError'> 'OrderedDiGraph' object has no attribute 'nodes_iter': AttributeError: 'OrderedDiGraph'
 object has no attribute 'nodes_iter'
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault Traceback (most recent call last):
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/cinder/api/middleware/fault.py", line 85, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return req.get_response(self.application)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/request.py", line 1316, in send
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     application, catch_exc_info=False)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/request.py", line 1280, in call_application
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 145, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 131, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 196, in call_func
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/osprofiler/web.py", line 108, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return request.get_response(self.application)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/request.py", line 1316, in send
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     application, catch_exc_info=False)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/request.py", line 1280, in call_application
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 131, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 196, in call_func
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/keystonemiddleware/auth_token/__init__.py", line 337, in
 __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     response = req.get_response(self._app)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/request.py", line 1316, in send
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     application, catch_exc_info=False)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/request.py", line 1280, in call_application
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 145, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 145, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/routes/middleware.py", line 141, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     response = self.app(environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 145, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 131, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/webob/dec.py", line 196, in call_func
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/cinder/api/openstack/wsgi.py", line 843, in __call__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     content_type, body, accept)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/cinder/api/openstack/wsgi.py", line 902, in _process_stack
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     action_result = self.dispatch(meth, request, action_args)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/cinder/api/openstack/wsgi.py", line 997, in dispatch
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return method(req=request, **action_args)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/cinder/api/v3/volumes.py", line 380, in create
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     **kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/cinder/volume/api.py", line 342, in create
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     flow_engine.run()
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/engine.py", line 247, in run
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     for _state in self.run_iter(timeout=timeout):
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/engine.py", line 271, in run_iter
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     self.compile()
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/fasteners/lock.py", line 294, in wrapper
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return f(self, *args, **kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/engine.py", line 463, in compile
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     self._compilation = self._check_compilation(self._compiler.compile())
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/fasteners/lock.py", line 294, in wrapper
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     return f(self, *args, **kwargs)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/compiler.py", line 392, in compile
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     self._history.clear()
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     self.force_reraise()
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     six.reraise(self.type_, self.value, self.tb)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/six.py", line 693, in reraise
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     raise value
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/compiler.py", line 386, in compile
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     graph, node = self._compile(self._root, parent=None)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/compiler.py", line 338, in _compile
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     graph, node = item_compiler.compile(item, parent=parent)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/compiler.py", line 167, in compile
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     for child in flow)
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/engines/action_engine/compiler.py", line 166, in <genexpr>
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     (child, self._deep_compiler_func(child, parent=tree_node)[0])
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault   File "/usr/lib/python3/dist-packages/taskflow/patterns/linear_flow.py", line 58, in __iter__
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault     for item in self._graph.nodes_iter():
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault AttributeError: 'OrderedDiGraph' object has no attribute 'nodes_iter'
2018-07-04 14:38:23.745 4033 ERROR cinder.api.middleware.fault 


Taskflow code calls function nodes_iter(). 
This function has been removed from networkx since version 2.0 (source: migration guide from 1.X to 2.0 https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html)

Unfortunately, Buster only ships version 2.1-1 of networkx.



*** End of the template - remove these template lines ***


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.16.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-taskflow depends on:
ii  alembic                     0.9.7-1
ii  python3                     3.6.5-3
ii  python3-alembic             0.9.7-1
ii  python3-automaton           1.14.0-2
ii  python3-cachetools          2.0.0-2
ii  python3-contextlib2         0.5.5-1
ii  python3-debtcollector       1.19.0-1
ii  python3-eventlet            0.20.0-4
ii  python3-fasteners           0.12.0-3
ii  python3-futurist            1.6.0-2
ii  python3-jsonschema          2.6.0-2
ii  python3-kazoo               2.4.0-2
ii  python3-kombu               4.1.0-1
ii  python3-networkx            2.1-1
ii  python3-oslo.serialization  2.24.0-1
ii  python3-oslo.utils          3.35.0-2
ii  python3-pbr                 3.1.1-4
ii  python3-psycopg2            2.7.5-1+b1
ii  python3-pymysql             0.8.1-1
ii  python3-six                 1.11.0-2
ii  python3-sqlalchemy          1.2.8+ds1-1
ii  python3-stevedore           1.28.0-2
ii  python3-tenacity            4.8.0-2

python3-taskflow recommends no packages.

python3-taskflow suggests no packages.

-- no debconf information



More information about the Openstack-devel mailing list