yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #73846
[Bug 1777640] Re: Neutron doesn't work with Eventlet >= 0.22
Reviewed: https://review.openstack.org/576638
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=d1efeeb433f090fabb02a07eabfa66576ebea9ea
Submitter: Zuul
Branch: master
commit d1efeeb433f090fabb02a07eabfa66576ebea9ea
Author: Brian Haley <bhaley@xxxxxxxxxx>
Date: Tue Jun 19 16:26:46 2018 -0400
Fix UnixDomainHttpProtocol class to support all eventlet versions
It was recently decided to uncap eventlet:
http://lists.openstack.org/pipermail/openstack-dev/2018-April/129096.html
So eventlet is now capped at 0.20 not by global requirements,
it is capped in upper-constraints, because currently not every
openstack project is able to work with a newer eventlet version,
mostly because of the caps in projects requirements.txt.
According to global-requirements, last allowed version of
eventlet is 0.22.1:
https://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt
In an effort to support both eventlet<0.22 and eventlet>=0.22,
change the code to try and determine the correct number of
arguments to use in the call to initialize the parent class.
Change-Id: Ibe3dc8af6cf9f8bb4f8eababb7f4276e4db3f1f9
Closes-bug: #1777640
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1777640
Title:
Neutron doesn't work with Eventlet >= 0.22
Status in neutron:
Fix Released
Bug description:
https://review.openstack.org/#/c/561953/ tried to make Neutron compatible with two types of eventlet.wsgi.HttpProtocol.__init__: old, with 3 arguments and new, with 2 arguments. But it is not the full solution, because UnixDomainHttpProtocol.__init__ still able to work with 3 arguments only.
Pike version of Neutron with backported 2c31f7f35129cb2160592633e52083b412d6c2cd fix fails with
File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 458, in fire_timers
timer()
File "/usr/lib/python2.7/dist-packages/eventlet/hubs/timer.py", line 58, in __call__
cb(*args, **kw)
File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 218, in main
result = function(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 781, in process_request
proto.__init__(conn_state, self)
TypeError: __init__() takes exactly 4 arguments (3 given)
because Eventlet tries to use UnixDomainHttpProtocol.__init__ in new way.
Most likely that __init__ in UnixDomainHttpProtocol should accept variable number of arguments, pick and modify address if needed and call appropriate form of base class __init__.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1777640/+subscriptions
References