<div dir="ltr"><div> Flavio Percoco wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Still, I'd like us to learn from<br>previous experiences and have a better plan for this driver (and<br>future cases like this one).</blockquote><div><br></div><div><div>Hi, all!</div><div><br></div><div>As one of a just joined ZeroMQ maintainers I have a growing plan of ZeroMQ refactoring and development. At the most abstract view our plan is to remove single broker and implement peer-2-peer model in the messaging driver. Now exists a blueprint with this goal <a href="https://blueprints.launchpad.net/oslo.messaging/+spec/reduce-central-broker">https://blueprints.launchpad.net/oslo.messaging/+spec/reduce-central-broker</a>. I maintain a patch and a spec which I had inherited from Aleksey Kornienko. For now this blueprint is the first step in the planning process. I believe we can split this big work in a set of specs and if is needed in several related blueprints. With these specs and BPs our plan should become obvious. I wrote a mail in the dev mail list with short overview to the coming work.</div><div><br></div><div>Please, feel free to discuss it all with me and correct me on this big road.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 17, 2014 at 4:45 PM, Doug Hellmann <span dir="ltr"><<a href="mailto:doug@doughellmann.com" target="_blank">doug@doughellmann.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Thanks, Josh, I’ll subscribe to the issue to keep up to date.<br>
<div class=""><div class="h5"><br>
On Nov 16, 2014, at 6:58 PM, Joshua Harlow <<a href="mailto:harlowja@outlook.com">harlowja@outlook.com</a>> wrote:<br>
<br>
> I started the following issue on kombu's github page (to see if there is any interest on there side to such an effort):<br>
><br>
> <a href="https://github.com/celery/kombu/issues/430" target="_blank">https://github.com/celery/kombu/issues/430</a><br>
><br>
> It's about seeing if the kombu folks would be ok with a 'rpc' subfolder in there repository that can start to contain 'rpc' like functionality that now exists in oslo.messaging (I don't see why they would be against this kind of idea, since it seems to make sense IMHO).<br>
><br>
> Let's see what happens,<br>
><br>
> -Josh<br>
><br>
> Doug Hellmann wrote:<br>
>><br>
>> On Nov 13, 2014, at 7:02 PM, Joshua Harlow <<a href="mailto:harlowja@yahoo-inc.com">harlowja@yahoo-inc.com</a><br>
>> <mailto:<a href="mailto:harlowja@yahoo-inc.com">harlowja@yahoo-inc.com</a>>> wrote:<br>
>><br>
>>> Don't forget my executor which isn't dependent on a larger set of<br>
>>> changes for asyncio/trollious...<br>
>>><br>
>>> <a href="https://review.openstack.org/#/c/70914/" target="_blank">https://review.openstack.org/#/c/70914/</a><br>
>>><br>
>>> The above will/should just 'work', although I'm unsure what thread<br>
>>> count should be by default (the number of green threads that is set at<br>
>>> like 200 shouldn't be the same number used in that executor which uses<br>
>>> real python/system threads). The neat thing about that executor is<br>
>>> that it can also replace the eventlet one, since when eventlet is<br>
>>> monkey patching the threading module (which it should be) then it<br>
>>> should behave just as the existing eventlet one; which IMHO is pretty<br>
>>> cool (and could be one way to completely remove the eventlet usage in<br>
>>> oslo.messaging).<br>
>><br>
>> Good point, thanks for reminding me.<br>
>><br>
>>><br>
>>> As for the kombu discussions, maybe its time to jump on the #celery<br>
>>> channel (where the kombu folks hang out) and start talking to them<br>
>>> about how we can work better together to move some of our features<br>
>>> into kombu (and also depreciate/remove some of the oslo.messaging<br>
>>> features that now are in kombu). I believe<br>
>>> <a href="https://launchpad.net/~asksol" target="_blank">https://launchpad.net/~asksol</a> is the main guy there (and also the main<br>
>>> maintainer of celery/kombu?). It'd be nice to have these<br>
>>> cross-community talks and at least come up with some kind of game<br>
>>> plan; hopefully one that benefits both communities…<br>
>><br>
>> I would like that, but won’t have time to do it myself this cycle. Maybe<br>
>> we can find another volunteer from the team?<br>
>><br>
>> Doug<br>
>><br>
>>><br>
>>> -Josh<br>
>>><br>
>>> <<a href="https://launchpad.net/~asksol" target="_blank">https://launchpad.net/~asksol</a>><br>
>>> ------------------------------------------------------------------------<br>
>>> *From:* Doug Hellmann <<a href="mailto:doug@doughellmann.com">doug@doughellmann.com</a><br>
>>> <mailto:<a href="mailto:doug@doughellmann.com">doug@doughellmann.com</a>>><br>
>>> *To:* OpenStack Development Mailing List (not for usage questions)<br>
>>> <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a><br>
>>> <mailto:<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>><br>
>>> *Sent:* Wednesday, November 12, 2014 12:22 PM<br>
>>> *Subject:* [openstack-dev] [oslo] oslo.messaging outcome from the summit<br>
>>><br>
>>> The oslo.messaging session at the summit [1] resulted in some plans to<br>
>>> evolve how oslo.messaging works, but probably not during this cycle.<br>
>>><br>
>>> First, we talked about what to do about the various drivers like<br>
>>> ZeroMQ and the new AMQP 1.0 driver. We decided that rather than moving<br>
>>> those out of the main tree and packaging them separately, we would<br>
>>> keep them all in the main repository to encourage the driver authors<br>
>>> to help out with the core library (oslo.messaging is a critical<br>
>>> component of OpenStack, and we’ve lost several of our core reviewers<br>
>>> for the library to other priorities recently).<br>
>>><br>
>>> There is a new set of contributors interested in maintaining the<br>
>>> ZeroMQ driver, and they are going to work together to review each<br>
>>> other’s patches. We will re-evaluate keeping ZeroMQ at the end of<br>
>>> Kilo, based on how things go this cycle.<br>
>>><br>
>>> We also talked about the fact that the new version of Kombu includes<br>
>>> some of the features we have implemented in our own driver, like<br>
>>> heartbeats and connection management. Kombu does not include the<br>
>>> calling patterns (cast/call/notifications) that we have in<br>
>>> oslo.messaging, but we may be able to remove some code from our driver<br>
>>> and consolidate the qpid and rabbit driver code to let Kombu do more<br>
>>> of the work for us.<br>
>>><br>
>>> Python 3 support is coming slowly. There are a couple of patches up<br>
>>> for review to provide a different sort of executor based on greenio<br>
>>> and trollius. Adopting that would require some application-level<br>
>>> changes to use co-routines, so it may not be an optimal solution even<br>
>>> though it would get us off of eventlet. (During the Python 3 session<br>
>>> later in the week we talked about the possibility of fixing eventlet’s<br>
>>> monkey-patching to allow us to use the new eventlet under python 3.)<br>
>>><br>
>>> We also talked about the way the oslo.messaging API uses URLs to get<br>
>>> some settings and configuration options for others. I thought I<br>
>>> remembered this being a conscious decision to pass connection-specific<br>
>>> parameters in the URL, and “global” parameters via configuration<br>
>>> settings. It sounds like that split may not have been implemented as<br>
>>> cleanly as originally intended, though. We identified documenting URL<br>
>>> parameters as an issue for removing the configuration object, as well<br>
>>> as backwards-compatibility. I don’t think we agreed on any specific<br>
>>> changes to the API based on this part of the discussion, but please<br>
>>> correct me if your recollection is different.<br>
>>><br>
>>> We also learned that there is a critical bug [2] related to heartbeats<br>
>>> for RabbitMQ, and we have a few patches up to propose fixes in<br>
>>> different ways (see the bottom of [1]). This highlighted again the<br>
>>> fact that we have a shortage of reviewers for oslo.messaging.<br>
>>><br>
>>> Doug<br>
>>><br>
>>> [1] <a href="https://etherpad.openstack.org/p/kilo-oslo-oslo.messaging" target="_blank">https://etherpad.openstack.org/p/kilo-oslo-oslo.messaging</a><br>
>>> [2] <a href="https://bugs.launchpad.net/nova/+bug/856764" target="_blank">https://bugs.launchpad.net/nova/+bug/856764</a><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> OpenStack-dev mailing list<br>
>>> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
>>> <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>><br>
>>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>>><br>
>>> _______________________________________________<br>
>>> OpenStack-dev mailing list<br>
>>> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
>>> <mailto:<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>><br>
>>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>><br>
>> _______________________________________________<br>
>> OpenStack-dev mailing list<br>
>> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
> --<br>
> Sent with Postbox <<a href="http://www.getpostbox.com" target="_blank">http://www.getpostbox.com</a>><br>
><br>
> _______________________________________________<br>
> OpenStack-dev mailing list<br>
> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>