2

使用任务流(v2.7.0 和 v3.1.0)启动流 时出现以下错误:

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'

然后我发现six.raise_from/usr/lib/python2.7/site-packages/six.py 中也存在函数,
并使用 Python 交互式 shell 执行了一些命令:

[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  

似乎six.raise_from工作正常,但我找不到发生上述错误的原因。有没有人帮助解决这个问题?

4

1 回答 1

0

我发现它在我的情况下连接到 eventlet:

# python
Python 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import six
>>> six.__file__
'/usr/lib/python2.7/dist-packages/six.pyc'
>>>
# python
Python 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import eventlet
>>> import six
>>> six.__file__
'/usr/lib/python2.7/dist-packages/eventlet/support/six.pyc'
>>>

我认为他们做了一些不应该做的坏事。目前正在调查。

于 2018-07-19T13:38:36.040 回答