Custom Search

Friday, May 30, 2014

OpenStack DevStack ResponseError pipeline caused error: Operation against a key holding the wrong kind of value

Context
========

Enabled "ZeroMQ"
http://fosshelp.blogspot.in/2014/05/how-to-openstack-devstack-setup-with.html

1)
Getting error from following services

n-cond
n-crt
n-net
n-sch
n-cauth
h-eng


----- Error -----

2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     return self.greenlet.switch()
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 194, in main
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     result = function(*args, **kwargs)
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/opt/stack/nova/nova/openstack/common/service.py", line 65, in run_service
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     service.start()
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/opt/stack/nova/nova/service.py", line 179, in start
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     self.conn.create_consumer(node_topic, rpc_dispatcher, fanout=False)
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/opt/stack/nova/nova/openstack/common/rpc/impl_zmq.py", line 578, in create_consumer
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     _get_matchmaker().register(topic, CONF.rpc_zmq_host)
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/opt/stack/nova/nova/openstack/common/rpc/matchmaker.py", line 205, in register
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     self.backend_register(key, key_host)
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/opt/stack/nova/nova/openstack/common/rpc/matchmaker_redis.py", line 138, in backend_register
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     pipe.execute()
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/usr/local/lib/python2.7/dist-packages/redis-2.9.1-py2.7.egg/redis/client.py", line 2155, in execute
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     return execute(conn, stack, raise_on_error)
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/usr/local/lib/python2.7/dist-packages/redis-2.9.1-py2.7.egg/redis/client.py", line 2070, in _execute_transaction
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     self.raise_first_error(commands, response)
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup   File "/usr/local/lib/python2.7/dist-packages/redis-2.9.1-py2.7.egg/redis/client.py", line 2106, in raise_first_error
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup     raise r
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup ResponseError: Command # 1 (SADD scheduler.ubuntu scheduler.ubuntu.ubuntu) of pipeline caused error: Operation against a key holding the wrong kind of value
2014-05-30 18:48:45.493 TRACE nova.openstack.common.threadgroup

Fix
=========


a)
Goto vim /etc/nova/nova.conf
Then change


rpc_zmq_matchmaker = nova.openstack.common.rpc.matchmaker_redis.MatchMakerRedis

To

rpc_zmq_matchmaker = nova.openstack.common.rpc.matchmaker_ring.MatchMakerRin
b)
Don't run .unstack.sh and /stack.sh, since that remove our change from /etc/nova/nova.conf


c)
Goto screen and select one service where we getting this error (Eg:n-cond).
Then Press "Ctrl + c" to Stop that service.
Then Press "UP arrow" and press enter to Start that service again

Now you may get this error: 
http://fosshelp.blogspot.com/2014/05/openstack-devstack-no-such-file-or.html


Notes:
--------

http://ewindisch.github.io/nova/ <=== IMP
The MatchMaker is pluggable and may also be used to enforce sending messages through a BROKER.
MatchMakerRing - loads a static hash table from a JSON file, cycles hosts per bare topic to create a directed topic.
The MatchMaker ring is a JSON file containing a hash where each key is a base topic and the values are arrays.
http://ewindisch.github.io/nova/#cmnt7










No comments:

Post a Comment