在 Devstack 上启用 nova 单元时,AMQP 连接关闭

在 Devstack 上启用 nova 单元时,AMQP 连接关闭

我在 IP 分别为 10.10.1.51、10.10.1.53 和 10.10.1.54 的 3 台服务器上设置了 Devstack。我将服务器 53(IP 10.10.1.53)上的 devstack 配置为父/api 单元,并将 51 和 54 上的 openstack 配置为子单元。我通过在相应的 localrc 文件中指定 enable_service n-cell 来启用单元。父级中的 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

子cell1中的nova.conf如下:

[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

子cell2中的nova.conf如下:

[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 服务器信息:

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

所有 3 个堆栈会话中的 n-cell-child 和 n-cell-region 均已重新启动。所有 3 个堆栈会话的 n-cell-region 均出现错误:

 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 屏幕中没有错误。所有 3 台服务器上运行的 AMQP 代理都是 rabbitmq-server。我检查了 rabbitmq 中的用户列表,凭证似乎没有问题。

任何帮助调试错误的帮助都将不胜感激。提前致谢!

相关内容