MatchMakerRedis doesn't work [zeromq]

Bug #1290772 reported by fetahi
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Invalid
Undecided
Unassigned
oslo.messaging
Fix Released
Low
zhangjialong

Bug Description

I was testing zeromq with redis. I installed all packages from ubuntu cloud repository[havana]. I added the following lines in nova.conf.
...
rpc_zmq_matchmaker = nova.openstack.common.rpc.matchmaker_redis.MatchMakerRedis
rpc_backend = nova.openstack.common.rpc.impl_zmq
...

I get the following error
2014-03-11 09:57:58.671 11201 ERROR nova.openstack.common.threadgroup [-] Command # 1 (SADD scheduler.ubuntu scheduler.ubuntu.ubuntu) of pipeline caused error: Operation against a key holding the wrong kind of value

The same error is reported in the following services:
nova-conductor
nova-consoleauth
nova-scheduler

The problem seems to come from the matchmaker using the same key to register a set of hosts and the hosts themselves.

Tags: zmq
fetahi (fetahi)
description: updated
Tracy Jones (tjones-i)
tags: added: compute
tags: added: console
tags: added: conductor
removed: compute
Revision history for this message
Mark McLoughlin (markmc) wrote :

This should probably be an oslo.messaging bug report only now

I don't really have any insight as to whether there's a real bug here, but it sounds plausible so marking Confirmed

Changed in nova:
status: New → Invalid
tags: added: zmq
removed: conductor console
Changed in oslo.messaging:
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
Rohit Karajgi (rohitk) wrote :

I'm not sure what the exact cause of your errors is.
But since the time the ZMQ drivers were moved to Oslo,
your nova.conf should be configured for ZMQ as follows:

rpc_backend = nova.openstack.common.rpc.impl_zmq
rpc_zmq_matchmaker = oslo.messaging_drivers.matchmaker.MatchMakerRedis

Revision history for this message
Li Ma (nick-ma-z) wrote :

The enabling of zeromq in nova should be:

rpc_backend = zmq
rpc_zmq_matchmaker = oslo.messaging_drivers.matchmaker.MatchMakerRedis

zhangjialong (zhangjl)
Changed in oslo.messaging:
assignee: nobody → zhangjialong (zhangjl)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to oslo.messaging (master)

Fix proposed to branch: master
Review: https://review.openstack.org/142651

Changed in oslo.messaging:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo.messaging (master)

Reviewed: https://review.openstack.org/142651
Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=8eed6bbd0953585353a4128112ba98ea99480c0c
Submitter: Jenkins
Branch: master

commit 8eed6bbd0953585353a4128112ba98ea99480c0c
Author: zhangjl <email address hidden>
Date: Wed Dec 17 16:04:14 2014 +0800

    Make sure zmq can work with redis

    In ZmqDriver's listen method, it calls create_consumer
    three times. After the first call, the keys related to this
    topic in redis reads like this:
      "topic": set(["topic.host"])
      "topic.host": ""

    If the second call, it tries to add the following keys:
      "topic.host": set(["topic.host.host"])
      "topic.host.host": ""

    But the key "topic.host" already exists as a string type.
    So the error occurs.

    To resolve this problem, change the value of keys from string
    to set.

    Change-Id: Ic801393d492d2656fcfd8b87f1d2efc6ab3bbd62
    Closes-Bug: #1290772

Changed in oslo.messaging:
status: In Progress → Fix Committed
Mehdi Abaakouk (sileht)
Changed in oslo.messaging:
milestone: none → 1.7.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.