Соединение AMQP закрыто, когда ячейки nova включены в Devstack
Я установил Devstack на 3 серверах с IP-адресами 10.10.1.51,10.10.1.53 и 10.10.1.54. Я настроил devstack на сервере 53(IP 10.10.1.53) в качестве родительской /api-ячейки и настроил openstack на 51 и 54 как дочерние ячейки. Я включил ячейки, указав enable_service n-cell в соответствующих файлах localrc. Nova.conf в родителе выглядит следующим образом:
[DEFAULT]
# Swap out the compute_api class so actions are proxied to nova-cells service.
compute_api_class=nova.compute.cells_api.ComputeCellsAPI
[cells]
name=api
enable=true
cell_type=api
nova.conf в дочерней ячейке1 выглядит следующим образом:
[GLOBAL]
# Disable quota checking in child cells. Let API cell do it exclusively.
quota_driver=nova.quota.NoopQuotaDriver
[cells]
enable=true
name=cell1 # something unique per child cell
cell_type=compute
nova.conf в дочерней ячейке 2 выглядит следующим образом:
[GLOBAL]
# Disable quota checking in child cells. Let API cell do it exclusively.
quota_driver=nova.quota.NoopQuotaDriver
[cells]
enable=true
name=cell1 # something unique per child cell
cell_type=compute
У нас есть следующая информация о сервере кролика в родительской ячейке:
rabbit_host = 10.10.1.53 rabbit_port = 5672 rabbit_username = admin rabbit_password = пароль rabbit_virtual_host=api_vhost
И в дочерней ячейке с именем 'cell1' у нас есть следующая информация о сервере кролика:
rabbit_host = 10.10.1.54 rabbit_port = 5673 rabbit_username = admin rabbit_password = пароль rabbit_virtual_host=cell1_vhost
И в дочерней ячейке с именем 'cell2' у нас есть следующая информация о сервере кролика:
rabbit_host = 10.10.1.51 rabbit_port = 5673 rabbit_username = admin rabbit_password = пароль rabbit_virtual_host=cell2_vhost
После чего я выполнил следующие команды в ячейке API, чтобы рассказать о ее дочерних элементах:
>nova-manage cell create --name=cell1 --cell_type=child --username=admin --password=password --hostname=10.10.1.51 --port=5673 --virtual_host=cell1_vhost --woffset=1.0 --wscale=1.0
>nova-manage cell create --name=cell2 --cell_type=child --username=admin --password=password --hostname=10.10.1.54 --port=5673 --virtual_host=cell1_vhost --woffset=1.0 --wscale=1.0
Следующая команда была запущена в обеих дочерних ячейках, чтобы сообщить им об их родителе:
>nova-manage cell create --name=api --cell_type=parent --username=admin --password=password --hostname=10.10.1.53 --port=5672 --virtual_host=api_vhost --woffset=1.0 --wscale=1.0
n-cell-child и n-cell-region были перезапущены во всех 3 сеансах стека. n-ячейка-область всех трех сессий стека выдавала ошибку, говоря:
2014-07-24 12:54:01.633 ERROR oslo.messaging._drivers.impl_rabbit [req-5154ff13-4f6f-4582-8a44-d42941e9a4bc None None] AMQP server 10.10.1.53:5672 closed the connection. Check login credentials: Socket closed
Экраны n-cell-child в обеих дочерних ячейках дали следующую ошибку:
2014-07-24 12:57:11.579 ERROR oslo.messaging._drivers.impl_rabbit [req-ba63e502-f099-4e55-a8e9-297390f5598f None None] AMQP server on 10.10.1.54:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 30 seconds.
Однако нет ошибки в n-cell-child экране родительской ячейки. Брокер AMQP работает на всех 3 серверах: rabbitmq-сервер. Я проверил список пользователей в rabbitmq и учетные данные, кажется, в порядке.
Любая помощь в отладке ошибки будет принята с благодарностью. Заранее спасибо!