Full support of ZeroMQ driver

Registered by Li Ma on 2014-12-09

1. Background

The oslo team has reached an agreement during Paris design summit that we will continuely support ZeroMQ driver. Due to its distributed nature, ZeroMQ can scale out very well.

All the bug fixes have been proposed and most of them have been fixed and merged to upstream. The biggest problem of using ZeroMQ is the devstack support and later CI.

Currently, ZeroMQ setup is definitely broken in devstack codebase.

This blueprint is to trace and fix all the related bugs and get ZeroMQ and its matchmakers work.

Related discussion during summit:
https://etherpad.openstack.org/p/kilo-oslo-oslo.messaging
https://<email address hidden>/msg39866.html

2. Some issues that were identified

- Package dependency for different distro needs to be re-verified
https://bugs.launchpad.net/devstack/+bug/1185690

- Improper object is imported
https://bugs.launchpad.net/devstack/+bug/1395721

- By default, matchmaker setup for Redis is not working.

- Matchmaker setup for Ringfile is not supported.
Someone proposed a review for such purpose, but it's been abandoned for long.
https://review.openstack.org/#/c/59875

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
Li Ma
Direction:
Needs approval
Assignee:
Li Ma
Definition:
New
Series goal:
Proposed for trunk
Implementation:
Started
Milestone target:
None
Started by
Li Ma on 2014-12-21

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/zeromq,n,z

Addressed by: https://review.openstack.org/143293
    Fix proper oslo.messaging object for zeromq driver

Addressed by: https://review.openstack.org/143529
    Fix matchmaker-redis dependencies for zeromq driver

Addressed by: https://review.openstack.org/143531
    Fix service start sequence

Addressed by: https://review.openstack.org/143533
    Support MatchMakerRing and make it default

Addressed by: https://review.openstack.org/167107
    Add pluggability for matchmaker-redis

(?)

Work Items

Work items:
solve package dependencies: DONE
identify bugs and fix them step by step: DONE
matchmakerRedis support: DONE

This blueprint contains Public information 
Everyone can see this information.