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.


On Sep 17, 2014, at 7:54 AM, James Page <> 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
> > and the
> > corresponding review is under way:
> >
> Agreed
> > Others are tagged to 'zmq' in
> >
> 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) 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:
>       Summary: Message was sent to wrong node with zmq as rpc_backend
>       Patch:
> Also notifcations are effectively unimplemented which prevents use
> with Ceilometer so I'd also add:
>       Summary:
>       Patch:

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:
> 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:
> that's still WIP but again we'll get any changes submitted for review

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

OpenStack-dev mailing list

Reply via email to