Comment 0 for bug 1756520

Revision history for this message
Fabo Yi (folkart) wrote :

I got the following error when used taskflow(v2.7.0 and v3.1.0) to launch a flow:

2018-02-10 02:13:15.485 13955 DEBUG taskflow.engines.helpers [-] Looking for 'default' engine driver in 'taskflow.engines' load /usr/lib/python2.7/site-packages/taskflow/engines/helpers.py:131
2018-02-10 02:13:15.611 13955 ERROR condor.diagnosis.api [-] Failed to examine api inspection flow.
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api Traceback (most recent call last):
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/local/autoop_services/condor/diagnosis/api.py", line 159, in create
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api create_what)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/local/autoop_services/condor/diagnosis/flows/api/examine_system.py", line 241, in get_flow
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api return taskflow.engines.load(api_flow, store=create_what)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/taskflow/engines/helpers.py", line 142, in load
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api engine.storage.inject(store)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/taskflow/utils/misc.py", line 405, in __get__
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api value = self._fget(instance)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 234, in storage
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api scope_fetcher=_scope_fetcher)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/taskflow/storage.py", line 331, in __init__
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api self.injector_name, expected_type=models.TaskDetail)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/taskflow/storage.py", line 471, in _atomdetail_by_name
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api "Unknown atom name '%s'" % atom_name)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/taskflow/exceptions.py", line 52, in raise_with_cause
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api excutils.raise_with_cause(exc_cls, message, *args, **kwargs)
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 143, in raise_with_cause
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api six.raise_from(exc_cls(message, *args, **kwargs), kwargs.get('cause'))
2018-02-10 02:13:15.611 13955 TRACE condor.diagnosis.api AttributeError: 'module' object has no attribute 'raise_from'

I have checked whether there exist six.raise_from function in the /usr/lib/python2.7/site-packages/six.py :
[root@yczc5 ~]# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from six import raise_from
>>> print raise_from.__name__
raise_from

After added the 'from six import raise_from' statement at the top of my file, this error doesn't occur, so I think six library is incorrectly loaded when taskflow raises an exception