sh-4.2# yum list installed | grep "greenlet\|eventlet\|gevent"
python2-eventlet.noarch 0.25.1-1.el7 @local_openstack-tnrp
python2-gevent.x86_64 1.1.2-2.el7 @local_openstack-tnrp
python2-greenlet.x86_64 0.4.12-1.el7 @local_openstack-tnrp
sh-4.2# python2
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from eventlet import greenpool
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/eventlet/__init__.py", line 10, in <module>
from eventlet import convenience
File "/usr/lib/python2.7/site-packages/eventlet/convenience.py", line 7, in <module>
from eventlet.green import socket
File "/usr/lib/python2.7/site-packages/eventlet/green/socket.py", line 21, in <module>
from eventlet.support import greendns
File "/usr/lib/python2.7/site-packages/eventlet/support/greendns.py", line 67, in <module>
setattr(dns.rdtypes, pkg, import_patched('dns.rdtypes.' + pkg))
File "/usr/lib/python2.7/site-packages/eventlet/support/greendns.py", line 59, in import_patched
return patcher.import_patched(module_name, **modules)
File "/usr/lib/python2.7/site-packages/eventlet/patcher.py", line 126, in import_patched
*additional_modules + tuple(kw_additional_modules.items()))
File "/usr/lib/python2.7/site-packages/eventlet/patcher.py", line 100, in inject
module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
ImportError: No module named dnskeybase
>>>
On Thu, Jun 17, 2021, at 10:03 AM, Pete Zhang wrote:
> Not sure if my previous email went through or not. Just resend it.
>
> We hit this error during "glance-manage db_sync":
> *ImportError: cannot import name greenpool.*
> Any idea what the root cause is and how to fix it?
> We have the following rpms installed (thought related).
>
> `python2-greenlet-0.4.9-1.el7.x86_64.rpm`
> `python2-eventlet-0.18.4-2.el7.noarch.rpm`
> `python2-gevent-1.1.2-2.el7.x86_64.rpm`
>
>
snip
> Notice: /Stage[main]/Neutron::Db::Sync/Exec[neutron-db-sync]/returns:
> from eventlet import greenpool
>
> Notice: /Stage[main]/Neutron::Db::Sync/Exec[neutron-db-sync]/returns:
> ImportError: cannot import name greenpool
I'm not familiar with the CentOS7 packaging, but as a sanity check I ran `pip install greenlet==0.4.9 eventlet==0.18.4` in a python2 virtualenv then in a python2 interpreter `from eventlet import greenpool` runs successfully. I would try running this import by hand on your system to see if you can get any more information. Could be a packaging issue or potentially some sort of name collision between script names?
Clark