FileMonitor eventlet dies due to eventlet.monkey_patch introduced change
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
networking-vpp |
Fix Released
|
Undecided
|
Hareesh Puthalath |
Bug Description
One of the core modules patched by eventlet.
./eventlet/
__patched__ = ['select']
__deleted__ = ['devpoll', 'poll', 'epoll', 'kqueue', 'kevent']
As a result, if some code tries to invoke the poll() function, it throws an exception:
[root@overcloud
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import eventlet
>>> import select
>>> eventlet.
>>> pollobj = select.poll()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'poll'
>>>
This is precisely what is happening with the FileMonitor eventlet:
2018-04-13 21:11:09.630 239485 DEBUG networking_
2018-04-13 21:11:09.632 239485 DEBUG networking_
2018-04-13 21:11:09.638 239485 ERROR networking_
So, this means that nova live migration will not work.
Changed in networking-vpp: | |
assignee: | nobody → Hareesh Puthalath (hareesh-puthalath) |
Changed in networking-vpp: | |
status: | New → In Progress |
Reviewed: https:/ /review. openstack. org/565621 /git.openstack. org/cgit/ openstack/ networking- vpp/commit/ ?id=d7d7e1240ac 12e63e2e39c339f 5a9c253e95402e
Committed: https:/
Submitter: Zuul
Branch: master
commit d7d7e1240ac12e6 3e2e39c339f5a9c 253e95402e
Author: Hareesh Puthalath <email address hidden>
Date: Tue May 1 17:30:38 2018 -0700
Handle missing select.poll with eventlet 0.20.0 or more
The missing select.poll in eventlet >= 0.20.0 causes problems for
pyinotify which uses it. The poll object is not actually used by the
Notifier object used for file monitoring, but rather select.select, so
we provide a dummy poll object to let pyinotify's init method
complete.
Change-Id: Ib6aacb3566d602 f2af485831162eb 092a89892ca
Closes-Bug: #1765470