<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Hello,
<div><br>
</div>
<div>I first would like to apologize for not keeping everybody in the loop but I’ve</div>
<div>been very busy with a lot of work.</div>
<div><br>
</div>
<div>I just wanted to give a quick update on some potential progress.</div>
<div><br>
</div>
<div>First off, the Oslo meeting on the 19th of September ([1] log here) kicked us into a direction</div>
<div>of how we could use the official nats.py python client [2] to talk to NATS as we quickly ruled</div>
<div>out the nats-python client [3] as it’s pretty unmaintained and incomplete.</div>
<div><br>
</div>
<div>We did however get a working POC driver [4] (see patchset 14) with [3] that confirmed we could get</div>
<div>a Devstack job working even though the driver missed a lot of critical functionality such as error handling, retries, TLS etc etc. </div>
<div><br>
</div>
<div>Since the nats.py client [2] is asyncio based we investigated a path forward that meant where we could utilize</div>
<div>asyncio in the oslo.messaging library and expose an API up to projects consuming oslo.messaging.</div>
<div><br>
</div>
<div>We decided to do some POC patches into oslo.messaging and using the Blazar project as a testing ground [4]. We very quickly</div>
<div>found ourselves digging into oslo.service to implement asyncio, checking SQLAlchemy for support, API frameworks would need</div>
<div>asyncio support, moving from WSGI to an ASGI compatible server, duplicating code for supporting sync and async code paths and more.</div>
<div><br>
</div>
<div>We came to the conclussion that introducing a NATS oslo.messaging driver meant requiring us to implement asyncio across our ecosystem</div>
<div>which would take an massive effort. Some good came out of it in form of a patch [5] further improving the consistency of the oslo.messaging API, we</div>
<div>also gained a lot of insight in the future if we would like to start introducing asyncio functionality into oslo projects to support it for the future.</div>
<div><br>
</div>
<div>Now moving forward to today.</div>
<div><br>
</div>
<div>I’ve talked with the maintainer of nats.py and the company behind him to investigate if we can include a synchronous code path into</div>
<div>that Python library to be used in a future revision of a oslo.messaging NATS driver. Hopefully we’ll have some more progress to report</div>
<div>on that in the beginning of next year.</div>
<div><br>
</div>
<div>Feel free to reach out to me (here or on IRC, my nick is tobias-urdin) if you want to know more, have any questions or</div>
<div>want to get involved in anything I’ve mentioned above!</div>
<div><br>
</div>
<div>Best regards</div>
<div>Tobias</div>
<div><br>
</div>
<div>[1] <a href="https://meetings.opendev.org/meetings/oslo/2022/oslo.2022-09-19-15.12.log.txt">https://meetings.opendev.org/meetings/oslo/2022/oslo.2022-09-19-15.12.log.txt</a></div>
<div>
<div>[2] <a href="https://github.com/nats-io/nats.py">https://github.com/nats-io/nats.py</a></div>
<div>[3] <a href="https://github.com/Gr1N/nats-python">https://github.com/Gr1N/nats-python</a></div>
<div>[4] <a href="https://review.opendev.org/q/topic:asyncio-nats">https://review.opendev.org/q/topic:asyncio-nats</a></div>
<div>[5] <a href="https://review.opendev.org/c/openstack/oslo.messaging/+/862419">https://review.opendev.org/c/openstack/oslo.messaging/+/862419</a></div>
<div><br>
<blockquote type="cite">
<div>On 12 Sep 2022, at 09:05, Tobias Urdin <tobias.urdin@binero.com> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Hello,
<div><br>
</div>
<div>Since I haven’t heard any objections we’ll move the meeting to the Oslo</div>
<div>meeting on the 19th of September. See you there! [1]</div>
<div><br>
</div>
<div>[1] <a href="https://wiki.openstack.org/wiki/Meetings/Oslo">https://wiki.openstack.org/wiki/Meetings/Oslo</a></div>
<div><br>
</div>
<div>Best regards</div>
<div>Tobias<br>
<div><br>
<blockquote type="cite">
<div>On 8 Sept 2022, at 15:54, Herve Beraud <<a href="mailto:hberaud@redhat.com">hberaud@redhat.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div dir="ltr">WFM<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le jeu. 8 sept. 2022 à 15:16, Tobias Urdin <<a href="mailto:tobias.urdin@binero.com">tobias.urdin@binero.com</a>> a écrit :<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="overflow-wrap: break-word;">Hello,
<div><br>
</div>
<div>I don’t have anything against moving to the 19th of September meeting if that’s OK</div>
<div>with everybody else, I propose we do that.</div>
<div><br>
</div>
<div>Let’s see if we get some feedback against the proposed new date otherwise we’ll move it.</div>
<div><br>
</div>
<div>Best regards</div>
<div>
<div><br>
<blockquote type="cite">
<div>On 8 Sept 2022, at 08:41, Radosław Piliszek <<a href="mailto:radoslaw.piliszek@gmail.com" target="_blank">radoslaw.piliszek@gmail.com</a>> wrote:</div>
<br>
<div>
<div dir="auto">Hi Tobias et al,
<div dir="auto"><br>
</div>
<div dir="auto">That Monday I cannot attend due to other work commitments. Could we schedule it for the following week?<br>
<div dir="auto"><br>
</div>
<div dir="auto">Cheers,</div>
<div dir="auto">Radek</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Sep 6, 2022, 18:33 Tobias Urdin <<a href="mailto:tobias.urdin@binero.com" target="_blank">tobias.urdin@binero.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="overflow-wrap: break-word;">Great! I’ve updated the agenda with NATS driver and eventlet future topic <a href="https://wiki.openstack.org/wiki/Meetings/Oslo#Agenda_for_Next_Meeting" rel="noreferrer" target="_blank">https://wiki.openstack.org/wiki/Meetings/Oslo#Agenda_for_Next_Meeting</a>
<div>
<div><br>
</div>
<div>See you in the next meeting on 12th of September 15:00 UTC hopefully that</div>
<div>will give us all some time to read through the following material:</div>
<div><br>
</div>
<div>- Current POC code <a href="https://review.opendev.org/c/openstack/oslo.messaging/+/848338" rel="noreferrer" target="_blank">https://review.opendev.org/c/openstack/oslo.messaging/+/848338</a></div>
<div>- Devstack plugin <a href="https://github.com/tobias-urdin/devstack-plugin-nats" rel="noreferrer" target="_blank">https://github.com/tobias-urdin/devstack-plugin-nats</a></div>
<div>- Discussion on IRC on 2nd September about below links <a href="https://meetings.opendev.org/irclogs/#openstack-oslo/%23openstack-oslo.2022-09-02.log.html" rel="noreferrer" target="_blank">https://meetings.opendev.org/irclogs/%23openstack-oslo/%23openstack-oslo.2022-09-02.log.html</a></div>
<div><br>
</div>
<div>Links to old material:</div>
<div>- The old spec that we can work upon <a href="https://review.opendev.org/c/openstack/oslo-specs/+/692784" rel="noreferrer" target="_blank">https://review.opendev.org/c/openstack/oslo-specs/+/692784</a></div>
<div>- Old driver implementation for above old spec <a href="https://review.opendev.org/c/openstack/oslo.messaging/+/680629" rel="noreferrer" target="_blank">https://review.opendev.org/c/openstack/oslo.messaging/+/680629</a></div>
<div>- Old asyncio planning <a href="https://wiki.openstack.org/wiki/Oslo/blueprints/asyncio" rel="noreferrer" target="_blank">https://wiki.openstack.org/wiki/Oslo/blueprints/asyncio</a></div>
<div>- Old asyncio executor in oslo.messaging <a href="https://blueprints.launchpad.net/oslo.messaging/+spec/asyncio-executor" rel="noreferrer" target="_blank">https://blueprints.launchpad.net/oslo.messaging/+spec/asyncio-executor</a></div>
<div>- Old messaging API mail thread <a href="https://lists.openstack.org/pipermail/openstack-dev/2013-May/009784.html" rel="noreferrer" target="_blank">https://lists.openstack.org/pipermail/openstack-dev/2013-May/009784.html</a></div>
<div><br>
</div>
<div>Looking forward to talk to you all next monday!</div>
<div><br>
</div>
<div>Best regards</div>
<div>Tobias</div>
<div>
<div>
<div><br>
<blockquote type="cite">
<div>On 5 Sept 2022, at 12:48, Herve Beraud <<a href="mailto:hberaud@redhat.com" rel="noreferrer" target="_blank">hberaud@redhat.com</a>> wrote:</div>
<br>
<div><br>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div class="gmail_quote" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div dir="ltr" class="gmail_attr">Le lun. 5 sept. 2022 à 10:00, Tobias Urdin <<a href="mailto:tobias.urdin@binero.com" rel="noreferrer" target="_blank">tobias.urdin@binero.com</a>> a écrit :<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks! It seems that we have some traction here to get started in a more structured manner.<br>
<br>
I’m on PTO today but back tomorrow, what do people feel about scheduling a recurring meeting about this topic?<span> </span></blockquote>
<div><br>
</div>
<div>The weekly Oslo meeting could host the conversation through a dedicated topic.</div>
<div><a href="https://wiki.openstack.org/wiki/Meetings/Oslo" rel="noreferrer" target="_blank">https://wiki.openstack.org/wiki/Meetings/Oslo</a></div>
<div><br>
</div>
<div>You could modify the meeting agenda to add this topic.</div>
<div>Daniel<span> </span><span role="gridcell"><span name="Daniel Mats Niklas Bengtsson"><span>Bengtsson (damani) is our meeting facilitator. Do not hesitate to ping him to discuss the meeting management.<br>
</span></span></span></div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I still<br>
need to read through the old spec and old implementation of NATS, and I am a bit restricted on time currently but we<br>
could brainstorm in that meeting and get us started on a new/updated the other spec.<br>
<br>
Should also note that, to anybody interested, that the topic is a little bit more broader than just a new messaging driver<br>
as it includes planning and/or working around the usage of eventlet etc, if you are interested in that topic please also<br>
reach out to us!<br>
<br>
Best regards<br>
Tobias<br>
<br>
> On 2 Sept 2022, at 10:35, Felix Hüttner <<a href="mailto:felix.huettner@mail.schwarz" rel="noreferrer" target="_blank">felix.huettner@mail.schwarz</a>> wrote:<br>
><span> </span><br>
> +1, we would also be interested in helping out. Let me know where we can help out with reviews, writing code, testing, etc.<br>
><span> </span><br>
> --<br>
> Felix Huettner<br>
><span> </span><br>
>> +1, I'm also interested in this topic. I did some tests with nats-py to see how it works and I'm volunteering to go further with this technology.<br>
>> Let me know if you need reviews, help etc...<br>
>><span> </span><br>
>> Le jeu. 1 sept. 2022 à 15:50, Tobias Urdin <mailto:<a href="mailto:tobias.urdin@binero.com" rel="noreferrer" target="_blank">tobias.urdin@binero.com</a>> a écrit :<br>
>> Hello Kai,<br>
>><span> </span><br>
>> Great to hear that you're interested!<br>
>> I'm currently just testing this as a POC directly in devstack so there is real-world testing (not should it yet I think, needs more development first).<br>
>><span> </span><br>
>> Best regards<br>
>> Tobias<br>
>><span> </span><br>
>>> On 30 Aug 2022, at 18:32, Kai Bojens <mailto:<a href="mailto:kb@kbojens.de" rel="noreferrer" target="_blank">kb@kbojens.de</a>> wrote:<br>
>>><span> </span><br>
>>> Am 29.08.22 um 15:46 schrieb Tobias Urdin:<br>
>>><span> </span><br>
>>>> 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<br>
>>>> reach out. I'm hoping somebody will bite but atleast I've put it out there for all of you.<br>
>>><span> </span><br>
>>> Hi,<br>
>>> I am very much interested to take a closer look at your work and maybe contribute to it. Although I'm working with OpenStack for my employer at the moment, I'd do this in my spare time as I'm not sure that I can convince him to add another staging system
 with a full OpenStack installation just for developing a RabbitMQ replacement. That's not on our agenda as we are mostly users and not developers of OpenStack.<br>
>>><span> </span><br>
>>> As I'm pretty new to the messaging topic and had just heard of NATS and your idea, I'll first would have to dive into NATS and then I would take a closer look at your code and maybe try to create some documentation or tests. So, I can't promise anything
 but as I said I'm very interested in your approach as I also see the massive load from RabbitMQ.<br>
>>><span> </span><br>
>>> This brings me to the most important question: Where do you run and test your code?<br>
>>><span> </span><br>
>>> Greetings,<br>
>>> Kai<br>
><span> </span><br>
> Diese E Mail enthält möglicherweise vertrauliche Inhalte und ist nur für die Verwertung durch den vorgesehenen Empfänger bestimmt. Sollten Sie nicht der vorgesehene Empfänger sein, setzen Sie den Absender bitte unverzüglich in Kenntnis und löschen diese E
 Mail. Hinweise zum Datenschutz finden Sie hier<<a href="https://www.datenschutz.schwarz/" rel="noreferrer noreferrer" target="_blank">https://www.datenschutz.schwarz</a>>.<br>
<br>
</blockquote>
</div>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none" clear="all">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">--<span> </span></span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>Hervé Beraud</div>
<div>Senior Software Engineer at Red Hat</div>
<div>irc: hberaud</div>
<div><a href="https://github.com/4383/" rel="noreferrer" target="_blank">https://github.com/4383/</a></div>
<div><a href="https://twitter.com/4383hberaud" rel="noreferrer" target="_blank">https://twitter.com/4383hberaud</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br clear="all">
<br>
-- <br>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>Hervé Beraud</div>
<div>Senior Software Engineer at Red Hat</div>
<div>irc: hberaud</div>
<div><a href="https://github.com/4383/" target="_blank">https://github.com/4383/</a></div>
<div><a href="https://twitter.com/4383hberaud" target="_blank">https://twitter.com/4383hberaud</a><br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</body>
</html>