[openstack-dev] [all] FYI - dropping non RabbitMQ support in devstack

Sean Dague sean at dague.net
Thu Jun 18 13:36:57 UTC 2015

On 06/18/2015 06:49 AM, Sean Dague wrote:
> On 06/18/2015 03:28 AM, ozamiatin wrote:
>> Hi, please don't remove zmq support from devstack.
>> We are now in progress of writing a new version of the driver.
>> I use devstack each time to check the driver functionality.
>> When the implementation become public it will be even more
>> important to have a possibility to check it on devstack.
> Which will be extremely easy to continue doing with an external plugin,
> and also make it much simpler for you to add new enhancements to it.
> Your development workflow would be add the following line to your localrc:
> enable_plugin zmq git://..........................
> And will continue exactly the same in usage pattern of devstack after that.

So, instead of further explaining that this was going to be easy to do
out of tree, I did it for the 0mq case.

https://github.com/sdague/zmq-devstack is up and ready to go. It creates
the same functional environment as the in code. You can demonstrate that
by doing the following:

git clone https://github.com/openstack-dev/devstack
cd devstack
git review -d 192154  (this is the code which deletes all the non rabbit
code from the devstack tree)

echo "enable_plugin zmq-devstack https://github.com/sdague/zmq-devstack"
>> localrc

Which I just did and tested in a local 14.04 vagrant (easily built with
devstack-vagrant project).

Looked through all the logs, things look like they are working to some
degree. Saw a couple of stack traces that looked non fatal in
nova-conductor, which would be the current state of the zmq driver from
my understanding. I did not functionally test this beyond that, because
from a devstack interface point of view, all the things devstack used to
do (install redis, zmq code, start the oslo messaging zmq receiver, and
setup all the config files for all the projects) match the output of the
old code.

The effort could use a README like the other devstack plugins have, to
document to prospective users what variables they have access when using
this. I'll leave that as an exercise for whenever someone imports this
into gerrit to take ownership of it.

Other drivers should be able to pretty closely model this in about 30
minutes of work. The install and post-config phases are probably the
only ones you need. (install for installing code, post-config for
starting servers). User friendly plugins will want to also want to
implement clean and maybe unstack. (clean is implemented here, because
it was in the old code).


Sean Dague

More information about the OpenStack-dev mailing list