Clark,

I  adjusted the version of greenlet/eventlet as required by other modules. here is the output:

ImportError: No module named dnskeybase

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:44 AM Clark Boylan <cboylan@sapwetik.org> wrote:
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



--