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

Tobias Urdin tobias.urdin at binero.com
Mon Aug 29 13:46:09 UTC 2022


Hello everyone,

Before continuing on, yes this kind of is a massive effort but it doesn’t have to be, it would be very cool to get a replacement for RabbitMQ
as I’m probably not the only one not satisfied with it. I've proposed a very bare POC in [1] but it's long way from being finished, but atleast some basic devstack is passing.

NATS [2] is a cloud-native scalable messaging system that supports the one-to-many and pub-sub methods that we can use to implement it as a oslo.messaging driver.

This would make OpenStack easier to deploy in a highly available fashion, reduce outages related to RabbitMQ, free up memory and CPU usage by RabbitMQ (it’s insane when
using clustering) and embrace a more cloud-native approach for our software that runs the cloud, alternatives is also welcome :)

The POC has a lot of things that could be improved for example:
	• Do retries and acknowledgements in the library (since NATS does NOT persist messages like RabbitMQ could)
	• Handle reconnects or interruptions (for example resubscribe to topics etc)
	• Timeouts need to be implemented and handled
	• Investigate maximum message payload size
	• Find or maintain a NATS python library that doesn't use async like the official one does
	• Add a lot of testing
	• Cleanup everything noted as TODO in the POC code

Now I couldn’t possibly pull this off myself without some collaboration with all of you, even though I’m very motivated to just dig in and do
this for the rest of the year and migrate our test fleet there I unfortunately (like everyone else) is juggeling a lot of balls at the same time.

If anybody, or any company, out there would be interested in collaborating in a project to bring this support and maintain it feel free to
reach out. I’m hoping somebody will bite but atleast I’ve put it out there for all of you.

Best regards
Tobias

[1] https://review.opendev.org/c/openstack/oslo.messaging/+/848338
[2] https://nats.io


More information about the openstack-discuss mailing list