OpenStack: исключение при добавлении нового узла nova-compute

Я пытаюсь добавить новый узел nova-compute (KUubuntu 12.04) в мою установку OpenStack с одним узлом (версия Essex), работающую на Ubuntu 12.04 LTS. Однако я получаю следующую ошибку: -

2012-06-22 14:05:12 INFO nova.rpc.common [-] Reconnecting to AMQP server on localhost:5672
2012-06-22 14:05:12 ERROR nova.rpc.common [-] AMQP server on localhost:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 27 seconds.
2012-06-22 14:05:12 TRACE nova.rpc.common Traceback (most recent call last):
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 446, in reconnect
2012-06-22 14:05:12 TRACE nova.rpc.common     self._connect()
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 423, in _connect
2012-06-22 14:05:12 TRACE nova.rpc.common     self.connection.connect()
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 154, in connect
2012-06-22 14:05:12 TRACE nova.rpc.common     return self.connection
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 560, in connection
2012-06-22 14:05:12 TRACE nova.rpc.common     self._connection = self._establish_connection()
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 521, in _establish_connection
2012-06-22 14:05:12 TRACE nova.rpc.common     conn = self.transport.establish_connection()
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 255, in establish_connection
2012-06-22 14:05:12 TRACE nova.rpc.common     connect_timeout=conninfo.connect_timeout)
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 52, in __init__
2012-06-22 14:05:12 TRACE nova.rpc.common     super(Connection, self).__init__(*args, **kwargs)
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/connection.py", line 129, in __init__
2012-06-22 14:05:12 TRACE nova.rpc.common     self.transport = create_transport(host, connect_timeout, ssl)
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/transport.py", line 281, in create_transport
2012-06-22 14:05:12 TRACE nova.rpc.common     return TCPTransport(host, connect_timeout)
2012-06-22 14:05:12 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/transport.py", line 85, in __init__
2012-06-22 14:05:12 TRACE nova.rpc.common     raise socket.error, msg
2012-06-22 14:05:12 TRACE nova.rpc.common error: [Errno 111] ECONNREFUSED
2012-06-22 14:05:12 TRACE nova.rpc.common 

В чем причина ошибки и как исправить эту ошибку?


person Soumya Simanta    schedule 22.06.2012    source источник
comment
Я нашел решение. Вам нужно добавить --rabbit_host = CC_ADDR в /etc/nova/nova.conf на новом узле, который вы добавляете в кластер. CC_ADDR - это IP-адрес облачного контроллера.   -  person Soumya Simanta    schedule 22.06.2012


Ответы (1)


Как вы заметили, в вашей конфигурации отсутствовал флаг --rabbit_host = ..., который указывает, где найти службу RabbitMQ для вашего облака OpenStack. Значение по умолчанию - localhost.

Другие флаги кроликов, которые принимает nova:

--rabbit_host=...
--rabbit_port=...
--rabbit_virtual_host=/
--rabbit_use_ssl
--rabbit_userid=...
--rabbit_password=...
person heckj    schedule 06.07.2012
comment
Когда я дал - до rabbit_host он начал работать. Какова цель этих -? - person jobin; 28.06.2013
comment
это просто механизм / соглашение для сложных аргументов, которые использует openstack. Достаточно стандартен для сложных необязательных аргументов. - person heckj; 29.06.2013
comment
Я не вижу - в официальной документации: docs.openstack.org/trunk/openstack-compute/admin/content/, какова точная цель / источник этого -? - person jobin; 29.06.2013