[Openstack] OpenStack Havana with ZMQ
Antonio Messina
antonio.s.messina at gmail.com
Tue Mar 25 15:34:32 UTC 2014
Hi all,
I am testing Havana with ZeroMQ but I'm unable to make it work.
First of all, I have a few questions:
* I gather that the nova-rpc-zmq-receiver *must* run on *all* nodes
(including compute nodes), is that correct?
* the nova-rpc-zmq-receiver is part (in Ubuntu) of the nova-scheduler
package, should I install the package and disable nova-scheduler on
the compute nodes? Is there an init script available for it or
should I create my own?
* How the communication works: the nova-compute services talk to the
nova-rpc-zmq-receiver via `tcp://` and the services on the same node
as the nova-rpc-zmq-receiver talk using `ipc://`?
I am currently using two nodes: a controller node and a compute node.
On both nodes I added to nova.conf:
rpc_zmq_bind_address = *
rpc_zmq_contexts = 1
rpc_zmq_host = cloud2.gc3
rpc_zmq_ipc_dir = /var/run/openstack
rpc_zmq_matchmaker =
nova.openstack.common.rpc.matchmaker_ring.MatchMakerRing
rpc_zmq_port = 9501
started nova-rpc-zmq-receiver with:
nova-rpc-zmq-receiver --config-file /etc/nova/nova.conf
and created a /etc/oslo/matchmaker_ring.json file containing:
{
"scheduler": ["cloud2"],
"conductor": ["cloud2"],
"cert": ["cloud2"],
"consoleauth": ["cloud2"],
"network": ["cloud2"],
"compute": ["node-08-01-01"]
}
where `cloud2` is my controller and `node-08-01-01` is my compute node.
However, when I run `nova service-list` (or `nova-manage service
list`) I don't see the compute node:
+------------------+---------------+----------+---------+-------+----------------------------+-----------------+
| Binary | Host | Zone | Status | State |
Updated_at | Disabled Reason |
+------------------+---------------+----------+---------+-------+----------------------------+-----------------+
| nova-consoleauth | cloud2 | internal | enabled | up |
2014-03-25T15:23:49.000000 | None |
| nova-cert | cloud2 | internal | enabled | up |
2014-03-25T15:24:13.000000 | None |
| nova-scheduler | cloud2 | internal | enabled | up |
2014-03-25T15:23:36.000000 | None |
| nova-conductor | cloud2 | internal | enabled | up |
2014-03-25T15:23:56.000000 | None |
+------------------+---------------+----------+---------+-------+----------------------------+-----------------+
When I start the nova-compute service I see only the following lines
in the nova-compute.log:
2014-03-25 16:27:05.158 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Sending
message(s) to: [(u'conductor.cloud2', u'cloud2')] _multi_send
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:725
2014-03-25 16:27:05.159 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Creating payload
_call /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:650
2014-03-25 16:27:05.159 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Creating queue
socket for reply waiter _call
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:663
2014-03-25 16:27:05.162 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Subscribing to
0a9babcb7ba14b1180621583031a4223 subscribe
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:158
2014-03-25 16:27:05.162 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Connecting to
ipc:///var/run/openstack/zmq_topic_zmq_replies.node-08-01-01.gc3 with
SUB __init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-25 16:27:05.162 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] -> Subscribed to
0a9babcb7ba14b1180621583031a4223 __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-25 16:27:05.162 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] -> bind: False
__init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
2014-03-25 16:27:05.163 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Sending cast
_call /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:676
2014-03-25 16:27:05.163 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Connecting to
tcp://cloud2:9501 with PUSH __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-25 16:27:05.163 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] -> Subscribed to
None __init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-25 16:27:05.164 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] -> bind: False
__init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
2014-03-25 16:27:05.164 7791 DEBUG
nova.openstack.common.rpc.common
[req-9bf7fc72-6419-4b62-aaa9-b1a7fac964ac None None] Cast sent;
Waiting reply _call
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:679
and when I try to start a VM it stays in `BUILD/scheduling` state. On
the log of the compute node (verbose=True, debug=True) I don't see
anything, while the nova-{scheduler,conductor,cert}.log files only
contain the following line, repeated over and over again:
2014-03-25 16:28:57.039 31938 DEBUG
nova.openstack.common.loopingcall [-] Dynamic looping call sleeping
for 60.00 seconds _inner
/usr/lib/python2.7/dist-packages/nova/openstack/common/loopingcall.py:132
The nova-rpc-zmq-receiver.log contains:
2014-03-24 14:42:32.359 30163 INFO
nova.openstack.common.rpc.common [-] Registering reactor
2014-03-24 14:42:32.361 30163 DEBUG
nova.openstack.common.rpc.common [-] Connecting to tcp://*:9501 with
PULL __init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-24 14:42:32.361 30163 DEBUG
nova.openstack.common.rpc.common [-] -> Subscribed to None __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-24 14:42:32.362 30163 DEBUG
nova.openstack.common.rpc.common [-] -> bind: True __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
2014-03-24 14:42:32.362 30163 INFO
nova.openstack.common.rpc.common [-] In reactor registered
2014-03-24 14:42:32.362 30163 INFO
nova.openstack.common.rpc.common [-] Consuming socket
2014-03-24 14:42:32.401 30163 INFO
nova.openstack.common.rpc.common [-] Creating proxy for topic:
q-plugin.localhost
2014-03-24 14:42:32.401 30163 DEBUG
nova.openstack.common.rpc.common [-] Connecting to
ipc:///var/run/openstack/zmq_topic_q-plugin.localhost with PUSH
__init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-24 14:42:32.401 30163 DEBUG
nova.openstack.common.rpc.common [-] -> Subscribed to None __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-24 14:42:32.402 30163 DEBUG
nova.openstack.common.rpc.common [-] -> bind: True __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
2014-03-24 14:42:45.891 30163 INFO
nova.openstack.common.rpc.common [-] Creating proxy for topic:
q-l3-plugin.localhost
2014-03-24 14:42:45.891 30163 DEBUG
nova.openstack.common.rpc.common [-] Connecting to
ipc:///var/run/openstack/zmq_topic_q-l3-plugin.localhost with PUSH
__init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-24 14:42:45.892 30163 DEBUG
nova.openstack.common.rpc.common [-] -> Subscribed to None __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-24 14:42:45.892 30163 DEBUG
nova.openstack.common.rpc.common [-] -> bind: True __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
2014-03-24 14:43:05.093 30163 INFO
nova.openstack.common.rpc.common [-] Creating proxy for topic:
conductor.cloud2.gc3
2014-03-24 14:43:05.094 30163 DEBUG
nova.openstack.common.rpc.common [-] Connecting to
ipc:///var/run/openstack/zmq_topic_conductor.cloud2.gc3 with PUSH
__init__ /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-24 14:43:05.094 30163 DEBUG
nova.openstack.common.rpc.common [-] -> Subscribed to None __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-24 14:43:05.094 30163 DEBUG
nova.openstack.common.rpc.common [-] -> bind: True __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
2014-03-24 14:44:57.760 30163 INFO
nova.openstack.common.rpc.common [-] Creating proxy for topic:
conductor.cloud2
2014-03-24 14:44:57.761 30163 DEBUG
nova.openstack.common.rpc.common [-] Connecting to
ipc:///var/run/openstack/zmq_topic_conductor.cloud2 with PUSH __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:136
2014-03-24 14:44:57.761 30163 DEBUG
nova.openstack.common.rpc.common [-] -> Subscribed to None __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:137
2014-03-24 14:44:57.761 30163 DEBUG
nova.openstack.common.rpc.common [-] -> bind: True __init__
/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_zmq.py:138
Thank you in advance to anyone willing to help me :)
Antonio
--
antonio.s.messina at gmail.com
antonio.messina at uzh.ch +41 (0)44 635 42 22
GC3: Grid Computing Competence Center http://www.gc3.uzh.ch/
University of Zurich
Winterthurerstrasse 190
CH-8057 Zurich Switzerland
More information about the Openstack
mailing list