<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hello,
<div class=""><br class="">
</div>
<div class="">Please note that the list provided was just from my own notes and I didn’t put much emphasis on making it complete or accurate.</div>
<div class=""><br class="">
</div>
<div class="">If you think back to the early days of OpenStack the pain was in OpenStack itself, today it’s a challenge instead to manage OpenStack scale and</div>
<div class="">fit into the things we see, like moving OpenStack into containers (for example managed by Kubernetes).</div>
<div class=""><br class="">
</div>
<div class="">I would like OpenStack design to more embrace the distributed, cloud-native approach that Ceph and Kubernetes brings, and the resiliency of Ceph (and yes, I’m a major Ceph enthusiast)</div>
<div class="">and there I’m seeing messaging and database as potential blockers to continue on that path.</div>
<div class=""><br class="">
</div>
<div class="">I’m not saying that’s the only thing, for example stuff like [1] _really_ matter in real world deployments so working on other OpenStack parts for resilience is also crucial.</div>
<div class=""><br class="">
</div>
<div class="">There is things I’m interested in that would impact the overall design, I can list some of them but I think it might be to broad of a subject for this thread.</div>
<div class=""><br class="">
</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>* Like brought up my Mohammed Naser before, I would like to investigate an effort for containers as an OpenStack deliverable for projects</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>* Investigate cloud-native, highly available and resilient alternatives for messaging and database</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>* Make OpenStack more resilient with above and [1] is a great example on what I mean</div>
<div class=""><br class="">
</div>
<div class="">I’ll respond to your questions with my views inline below.</div>
<div class=""><br class="">
</div>
<div class="">P.S The opionions stated here is my own personal opinions and should not be assumed to be the opinions of any other entity.</div>
<div class=""><br class="">
</div>
<div class="">Best regards</div>
<div class="">Tobias</div>
<div class=""><br class="">
</div>
<div class="">[1] <a href="https://bugs.launchpad.net/neutron/+bug/1987780" class="">https://bugs.launchpad.net/neutron/+bug/1987780</a><br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">Begin forwarded message:</div>
<br class="Apple-interchange-newline">
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">From:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Radosław Piliszek <<a href="mailto:radoslaw.piliszek@gmail.com" class="">radoslaw.piliszek@gmail.com</a>><br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">Subject:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><b class="">Re: [all] [oslo.messaging] Interest in collaboration on a NATS driver</b><br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">Date:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">29 August 2022 at 18:33:15 CEST<br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">To:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Tobias Urdin <<a href="mailto:tobias.urdin@binero.com" class="">tobias.urdin@binero.com</a>><br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">Cc:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">openstack-discuss <<a href="mailto:openstack-discuss@lists.openstack.org" class="">openstack-discuss@lists.openstack.org</a>><br class="">
</span></div>
<br class="">
<div class="">
<div class="">Hi Tobias,<br class="">
<br class="">
Good to see RMQ alternatives appearing. A couple of questions from me.<br class="">
<br class="">
On Mon, 29 Aug 2022 at 15:47, Tobias Urdin <<a href="mailto:tobias.urdin@binero.com" class="">tobias.urdin@binero.com</a>> wrote:<br class="">
<blockquote type="cite" class="">       • Do retries and acknowledgements in the library (since NATS does NOT persist messages like RabbitMQ could)<br class="">
</blockquote>
<br class="">
What do you mean? Is NATS only a router? (I have not used this technology yet.)<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>It does not persist messages, if there is no backend to respond, the message will be dropped without any action hence why I</div>
<div>want the RPC layer in oslo.messaging (that already does acknowledge calls in the driver) to notify client side that it’s being processed</div>
<div>before client side waits for reply.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
<blockquote type="cite" class="">       • Find or maintain a NATS python library that doesn't use async like the official one does<br class="">
</blockquote>
<br class="">
Why is async a bad thing? For messaging it's the right thing.<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>This is actually just myself, I would love to just being able to use the official that is async based instead it’s just</div>
<div>me that doesn’t understand how that would be implemented.</div>
<div><br class="">
</div>
<div><a href="https://github.com/nats-io/nats.py" class="">https://github.com/nats-io/nats.py</a> instead of the one in POC <a href="https://github.com/Gr1N/nats-python" class="">https://github.com/Gr1N/nats-python</a> which has a lot of shortcomings and issues,
 my</div>
<div>idea was just to investigate if was even possible to implement in a feasible way.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
Finally, have you considered just trying out ZeroMQ?<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>Does not exist anymore.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="">I mean, NATS is probably an overkill for OpenStack services since the<br class="">
majority of them stay static on the hosts they control (think<br class="">
nova-compute, neutron agents - and these are also the pain points that<br class="">
operators want to ease).<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>I don’t think it it, or even if it is, why not use a better solution or stable approach than RabbitMQ?</div>
<div><br class="">
</div>
<div>This is also the whole point, I don’t want OpenStack to become or be static, I want it to be more dynamic and</div>
<div>cloud-native in it’s approach and support viable integrations that takes it there, we cannot live in the past forever, let’s envision and dream of the future as we want it! :)</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="">NATS seems to me to cater for a different use case.<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>It actually caters to a lot of use cases.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="">I might be wrong because I have read only the front page but that is<br class="">
the feeling I have.<br class="">
<br class="">
Cheers,<br class="">
Radek<br class="">
-yoctozepto<br class="">
</div>
</div>
</blockquote>
<blockquote type="cite" class="">
<div class="">Begin forwarded message:</div>
<br class="Apple-interchange-newline">
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">From:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Radosław Piliszek <<a href="mailto:radoslaw.piliszek@gmail.com" class="">radoslaw.piliszek@gmail.com</a>><br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">Subject:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><b class="">Re: [all] [oslo.messaging] Interest in collaboration on a NATS driver</b><br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">Date:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">29 August 2022 at 20:20:15 CEST<br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">To:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Sean Mooney <<a href="mailto:smooney@redhat.com" class="">smooney@redhat.com</a>><br class="">
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class="">
<span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(0, 0, 0, 1.0);" class=""><b class="">Cc:
</b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Tobias Urdin <<a href="mailto:tobias.urdin@binero.com" class="">tobias.urdin@binero.com</a>>, openstack-discuss <<a href="mailto:openstack-discuss@lists.openstack.org" class="">openstack-discuss@lists.openstack.org</a>><br class="">
</span></div>
<br class="">
<div class="">
<div class="">On Mon, 29 Aug 2022 at 20:03, Sean Mooney <<a href="mailto:smooney@redhat.com" class="">smooney@redhat.com</a>> wrote:<br class="">
<blockquote type="cite" class="">
<blockquote type="cite" class="">Finally, have you considered just trying out ZeroMQ?<br class="">
</blockquote>
ZeroMQ used to be supported in the past but then it was remvoed<br class="">
if i understand correctly it only supprot notificaiton or RPC but not both<br class="">
i dont recall which but perhapse im miss rememebrign on that point.<br class="">
</blockquote>
<br class="">
I believe it would be better suited for RPC than notifications, at<br class="">
least in the simplest form.<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>As it’s advertised as scalable and performant I would argue that, why not use it for notifications as well? If anything according to</div>
<div>your observations above it’s more suited for that than RPC, even though request-reply (that we can use for RPC) is a strong first-class implementation in NATS as well.<br class="">
</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<blockquote type="cite" class="">I mean, NATS is probably an overkill for OpenStack services since the<br class="">
majority of them stay static on the hosts they control (think<br class="">
nova-compute, neutron agents - and these are also the pain points that<br class="">
operators want to ease).<br class="">
</blockquote>
its not any more overkill then rabbitmq is<br class="">
</blockquote>
<br class="">
True that. Probably.<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>I agree with that, also if you think about it, how many issues related to stability, performance and outages is related to RabbitMQ? It’s quite a few if you ask me.</div>
<div>Just the resource utilization and clustering in RabbitMQ makes me feel bad.</div>
<div><br class="">
</div>
<div>It’s here that I mean that the cloud-native and scalable implementation would shine, you should be able to rely on it, if sometimes dies so what, things should just</div>
<div>continue to work and that’s not my experience with RabbitMQ but it is my experience with Ceph because in the end the design really matters. </div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
<blockquote type="cite" class="">i also dont know waht you mean when you say<br class="">
"majority of them stay static on the hosts they control"<br class="">
<br class="">
NATS is intended a s a cloud native horrizontally scaleable message bus.<br class="">
which is exactly what openstack need IMO.<br class="">
</blockquote>
<br class="">
NATS seems to be tweaked for "come and go" situations which is an<br class="">
exception in the OpenStack world, not the rule (at least in my view).<br class="">
I mean, one normally expects to have a preset number of hypervisors<br class="">
and not them coming and going (which, I agree, is a nice vision, could<br class="">
be a proper NATS driver, with more awareness in the client projects I<br class="">
believe, would be an enabler for more dynamic clouds).<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>It could, but it also doesn’t have to be that. Why not strive for more dynamic? I don’t think anybody would argue that more dynamic is a bad thing</div>
<div>even if you were to have a more static approach to your cloud.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
Cheers,<br class="">
Radek<br class="">
-yoctozepto<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>