[all] [oslo.messaging] Interest in collaboration on a NATS driver

Thomas Goirand zigo at debian.org
Fri Jul 21 13:40:05 UTC 2023


On 7/21/23 13:32, smooney at redhat.com wrote:
> On Fri, 2023-07-21 at 11:59 +0200, Radosław Piliszek wrote:
>> On Fri, 21 Jul 2023 at 09:03, Thomas Goirand <zigo at debian.org> wrote:
>>>
>>> On 7/15/23 16:27, Tobias Urdin wrote:
>>>> The effort is mostly now to get/find a supported third-party Python library that does not
>>>> use asyncio for usage in a oslo.messaging driver.
>>>
>>> Sorry to ask, but what's the problem with asyncio? Do we want something
>>> *not* async? If yes, why?
>>
>> Large swaths of OpenStack code are not ready for async.
>> We want to take baby steps and get to some better place with tangible benefits.
> that not entirly correct.
> much of openstack is already async but we made a decision ot use eventlet as our async model many many
> years ago after we ported form twisted.
> 
> The problem is you cannot really mix eventlet code and asyncio safely in the python process.
> That means you cannot have the async nats lib used in nova,swift,cinder,neutron, glance and progrably other
> projects today.
> 
> i proposed one option a long time ago which is to take a privsep like approch where we spawn the oslo messaging driver
> into a sperate process and comunicate with it over a unix socket.

IRRC, back in 2014, at the Hongkong summit, there was a large consensus 
that Eventlet was a wrong choice. I can still remember Jay Pipes 
shouting "die Eventlet, die...". Fast forward nearly 10 years later, 
nothing has moved in that direction, and we're still stuck with that 
horrible hack. Why don't we just get rid of Eventlet and switch to 
asyncio instead? That'd be a *HUGE* improvement in terms of ... well 
many things ... less bugs, more maintainability, less breakage on each 
minor Python release, etc. That'd be a lot of work, I'm sure... At the 
same time, everyone would be happy to finally get rid of it.

Cheers,

Thomas Goirand (zigo)




More information about the openstack-discuss mailing list