Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In an OpenStack Folsom installation, my quantum server logs at /var/log/quantum/server.log shows:

2013-02-06 11:51:38     INFO [quantum.openstack.common.rpc.common] Reconnecting to AMQP server on 10.0.0.1:5672
2013-02-06 11:51:38    DEBUG [amqplib] Start from server, version: 8.0, properties: {u'information': u'Licensed under the MPL. See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2011 VMware, Inc.', u'capabilities': {}, u'platform': u'Erlang/OTP', u'version': u'2.7.1'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US']
2013-02-06 11:51:41    ERROR [quantum.openstack.common.rpc.common] AMQP server on 10.0.0.1:5672 is unreachable: Socket closed. 
Trying again in 30 seconds.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/impl_kombu.py", line 469, in reconnect
    self._connect()
  File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/impl_kombu.py", line 446, in _connect
    self.connection.connect()
  File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 154, in connect
    return self.connection
  File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 560, in connection
    self._connection = self._establish_connection()
  File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 521, in _establish_connection
    conn = self.transport.establish_connection()
  File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 255, in establish_connection
    connect_timeout=conninfo.connect_timeout)
  File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 52, in __init__
    super(Connection, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/connection.py", line 144, in __init__
    (10, 30), # tune
  File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/abstract_channel.py", line 95, in wait
    self.channel_id, allowed_methods)
  File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/connection.py", line 202, in _wait_method
    self.method_reader.read_method()
  File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/method_framing.py", line 221, in read_method
    raise m
IOError: Socket closed

What could be causing this error?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

AMQP server in this case refers to RabbitMQ.

The simple answer is that the quantum server can't log into rabbitmq. Since you're NOT getting an "ECONNREFUSED" error, the server is contactable which means that there is most likely a RabbitMQ server running on that IP.

Make sure your RabbitMQ password is correct. e.g. The Folsom guide says:

rabbitmqctl change_password guest password

...meaning that the rabbitmq user is 'guest' and the rabbitmq password is 'password'.

This must match the username and password listed in /etc/quantum/quantum.conf

# IP address of the RabbitMQ installation
rabbit_host = 10.0.0.1
# Password of the RabbitMQ server
rabbit_password = password
# Port where RabbitMQ server is running/listening
# rabbit_port = 5672
# User ID used for RabbitMQ connections
# rabbit_userid = guest

(commented-out lines are default)

share|improve this answer
    
A refused connection most likely means that the Rabbit process is not running. –  mgorven Feb 6 '13 at 4:18
    
@ mgorven Is your experience different? If I stop the RabbitMQ server then I get ECONNREFUSED, whereas for a failed login I get "Socket Closed" –  tudor Feb 6 '13 at 22:45
    
Sorry, misread your answer -- thought the OP was getting a refused connection. –  mgorven Feb 6 '13 at 23:38
    
@mgorven No worries. I was wondering if I should emphasise the "not". Clearly I should have! Corrected. :-) –  tudor Feb 6 '13 at 23:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.