[openstack-dev] [oslo] zeromq work for kilo

Flavio Percoco flavio at redhat.com
Thu Sep 18 15:01:32 UTC 2014


On 09/18/2014 04:16 PM, Kapil Thangavelu wrote:
> 
> 
> On Thu, Sep 18, 2014 at 4:18 AM, Flavio Percoco <flavio at redhat.com
> <mailto:flavio at redhat.com>> wrote:
> 
>     On 09/17/2014 04:34 PM, Doug Hellmann wrote:
>     > This thread [1] has turned more “future focused", so I’m moving the conversation to the -dev list where we usually have those sorts of discussions.
>     >
>     > [1] http://lists.openstack.org/pipermail/openstack/2014-September/009253.html
>     >
> 
> 
>     I saw this mentioned in the `openstack` thread but I'd like us to
>     reconsider it.
> 
>     Since we've gone through the "hey please don't deprecate it, I'll help"
>     process a couple of times with the zmq driver, I'm thinking we should
>     pull it out of the code base anyway.
> 
> 
> I think the primary issue has been two fold, one is the lack of
> reviews/merges on extant patches that fix critical items that have been
> outstanding for months. I think that is compounded by the other issue
> which was the lack of tests. We've sprinted last week on adding in both
> unit tests, the extant patches and functionally verifying them by
> automating cloud deployments with zmq for the messaging driver. We're
> also committing as a company to supporting it on an ongoing basis. If we
> get the gates going for kilo, i don't see any reason for the churn
> below, if the gates don't get going we can yank to external in kilo anyway.

The above sounds good to me. Thanks for sharing.

Can we have a deadline for all this? Last time we discussed zmq driver's
faith, we said that k-1 was a good deadline for it to get back in shape.
If the above plan sounds good to other folks, then I'd prefer us to
stick to k-1 for all the above to happen.

Thoughts?

Thanks again, Kapil
Flavio

>  
> cheers,
> 
> Kapil
> 
> 
>     Here's a rough plan of what I think we should do until the zmq is
>     updated and has a proper gate working:
> 
>     1. Pull it out the code base into its own repo (stackforge?)
>     2. Setup the basic `oslo.messaging` gates for it
>     3. Release the driver on pypi as: `oslo.messaging.zmq`
>     4. Make lots of noise and make sure people using zmq knows that they
>     have to install a separate package now. (I know this means creating a
>     new package for many distros).
> 
>     If there are folks interested in maintaining this driver, they can still
>     do it with the driver outside the code base. If it ever gets enough
>     attention and maturity, it could be re-proposed for inclusion into the
>     code base.
> 
>     I know there are folks interested in a broker-less solution and we now
>     have the not-tested-in-production-yet amqp1.0 driver which I think is a
>     very good solution and also shares most of the semantics we rely on
>     protocol-wise.
> 
>     I didn't go through the whole thread so, I'm sorry if I'm repeating
>     something that has already been said/proposed/discussed.
> 
>     Flavio
> 
>     > On Sep 17, 2014, at 7:54 AM, James Page <james.page at ubuntu.com
>     <mailto:james.page at ubuntu.com>> wrote:
>     >
>     >> Signed PGP part
>     >> Hi Li
>     >>
>     >> On 17/09/14 11:58, Li Ma wrote:
>     >>>> The scale potential is very appealing and is something I want to
>     >>>> test - - hopefully in the next month or so.
>     >>>>
>     >>>> Canonical are interested in helping to maintain this driver and
>     >>>> hopefully we help any critical issues prior to Juno release.
>     >>>>
>     >>>>
>     >>> That sounds good. I just went through all the bugs reported in the
>     >>> community.
>     >>>
>     >>> The only critical bug which makes ZeroMQ malfunction is
>     >>> https://bugs.launchpad.net/oslo.messaging/+bug/1301723 and the
>     >>> corresponding review is under way:
>     >>> https://review.openstack.org/#/c/84938/
>     >>
>     >> Agreed
>     >>
>     >>> Others are tagged to 'zmq' in
>     >>> https://bugs.launchpad.net/oslo.messaging
>     >>
>     >> Looking through Doug's suggested list of information and collating
>     >> what I know of from our work last week:
>     >>
>     >> 1) documentation for how to configure and use zeromq with
>     >> oslo.messaging (note, not the version in oslo-incubator, the version
>     >> in the messaging library repository)
>     >>
>     >> As part of our sprint, I worked on automating deployment of OpenStack
>     >> + 0MQ using Ubuntu + Juju (service orchestration tool). I can re-jig
>     >> that work into some general documentation on how best to configure
>     >> ZeroMQ with OpenStack - the current documentation is a bit raw and
>     >> does not talk about how to configure the oslo-messaging-zmq-receiver
>     >> at all.
>     >>
>     >> I also plan some packaging updates for Debian/Ubuntu in our next dev
>     >> cycle to make this a little easier to configure and digest - for
>     >> example, right now no systemd unit/upstart configuration/sysv init
>     >> script is provided to manage the zmq-receiver.
>     >>
>     >> I'd also like to document the current design of the ZMQ driver - Doug
>     >> - where is the best place todo this? I thought in the source tree
>     >> somewhere.
>     >
>     > The documentation in the oslo.messaging repository [2] would be a
>     good place to start for that. If we decide deployers/operators need
>     the information we can either refer to it from the guides managed by
>     the documentation team or we can move/copy the information. How
>     about if you start a new drivers subdirectory there, and add
>     information about zmq. We can have other driver authors provide
>     similar detail about their drivers in the same directory.
>     >
>     > [2]
>     http://git.openstack.org/cgit/openstack/oslo.messaging/tree/doc/source
>     >
>     >>
>     >> 2) a list of the critical bugs that need to be fixed + any existing
>     >> patches associated with those bugs, so they can be reviewed early
>     in kilo
>     >>
>     >> This blocks operation of nova+neutron environements:
>     >>
>     >> https://bugs.launchpad.net/oslo.messaging/+bug/1301723
>     >>      Summary: Message was sent to wrong node with zmq as rpc_backend
>     >>      Patch: https://review.openstack.org/84938
>     >>
>     >> Also notifcations are effectively unimplemented which prevents use
>     >> with Ceilometer so I'd also add:
>     >>
>     >> https://bugs.launchpad.net/oslo.messaging/+bug/1368154
>     >>      Summary: https://bugs.launchpad.net/oslo.messaging/+bug/
>     >>      Patch: https://review.openstack.org/120745
>     >
>     > That’s a good list, and shorter than I expected. I have added
>     these bugs to the next-kilo milestone.
>     >
>     >>
>     >> 3) an analysis of what it would take to be able to run functional
>     >> tests for zeromq on our CI infrastructure, not necessarily the full
>     >> tempest run or devstack-gate job, probably functional tests we place
>     >> in the tree with the driver (we will be doing this for all of the
>     >> drivers) + besides writing new functional tests, we need to bring the
>     >> unit tests for zeromq into the oslo.messaging repository
>     >>
>     >> Kapil Thangavelu started work on both functional tests for the ZMQ
>     >> driver last week; the output from the sprint is here:
>     >>
>     >>    https://github.com/ostack-musketeers/oslo.messaging
>     >>
>     >> it covers the ZMQ driver (including messaging through the
>     zmq-receiver
>     >> proxy) and the associated MatchMakers (local, ring, redis) at a
>     >> varying levels of coverage, but I feel it moves things in the right
>     >> direction - Kapil's going to raise a review for this in the next
>     >> couple of days.
>     >>
>     >> Doug - has any structure been agreed within the oslo.messaging tree
>     >> for unit/functional test splits? Right now we have them all in
>     one place.
>     >
>     > I think we will want them split up, but we don’t have an agreed
>     existing structure for that. I would like to see a test framework of
>     some sort that defines the tests in a way that can be used to run
>     the same functional for all of the drivers as separate jobs (with
>     appropriate hooks for ensuring the needed services are running,
>     etc.). Setting that up warrants its own spec, because there are
>     going to be quite a few details to work out. We will also need to
>     participate in the larger conversation about how to set up those
>     functional test jobs to be consistent with the other projects.
>     >
>     >>
>     >> Edward Hope-Morley also worked on getting devstack working with ZMQ:
>     >>
>     >>    https://github.com/ostack-musketeers/devstack
>     >>
>     >> that's still WIP but again we'll get any changes submitted for review
>     >> ASAP.
>     >
>     > That’s good to have, but I don’t necessarily consider it a
>     requirement for in-project functional tests.
>     >
>     >>
>     >> 4) and some improvements that we would like to make longer term
>     >>
>     >> a) Connection re-use on outbound messaging avoiding the current tcp
>     >> setup overhead for every sent message.  This may also bring further
>     >> performance benefits due to underlying messaging batching in ZMQ.
>     >
>     > This sounds like it would be a good thing to do, but making what
>     we have work correctly and testing it feels more important for now.
>     >
>     >>
>     >> b) Moving from tcp PUSH/PULL sockets between servers to DEALER/DEALER
>     >> (or something similar) to allow for heartbeating and more immediate
>     >> failure detection
>     >
>     > I would need to understand how much of a rewrite that represents
>     before commenting further.
>     >
>     >>
>     >> c) Crypto support
>     >
>     > There are some other discussions about adding crypto to messaging,
>     and I hope we can do that without having to touch each driver, if
>     possible.
>     >
>     >>
>     >> Cheers
>     >>
>     >> James
>     >>
>     >> --
>     >> James Page
>     >> Ubuntu and Debian Developer
>     >> james.page at ubuntu.com <mailto:james.page at ubuntu.com>
>     >> jamespage at debian.org <mailto:jamespage at debian.org>
>     >>
>     >
>     >
>     > _______________________________________________
>     > OpenStack-dev mailing list
>     > OpenStack-dev at lists.openstack.org
>     <mailto:OpenStack-dev at lists.openstack.org>
>     > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>     >
> 
> 
>     --
>     @flaper87
>     Flavio Percoco
> 
>     _______________________________________________
>     OpenStack-dev mailing list
>     OpenStack-dev at lists.openstack.org
>     <mailto:OpenStack-dev at lists.openstack.org>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 


-- 
@flaper87
Flavio Percoco



More information about the OpenStack-dev mailing list