在与 Juju/MAAS 相同的系统中使用 OpenStack 时,钩子失败:“shared-db-relation-changed”

Tim*_*rry 4 juju openstack maas

我一直在尝试使用一台机器在 14.04 上设置 OpenStack。我已经设法通过两台机器进行 MAAS 设置和 JUJU 引导,一台机器连接到 MAAS,另一台我试图在其上设置 openstack 的节点。我读过它可以完成,但我遇到了问题,基本上在阅读了这个https://help.ubuntu.com/community/UbuntuCloudInfrastructure并在互联网上挖掘后我发现 nova-volume 已被弃用,所以我一直在尝试使用煤渣代替。

我一直在使用这些命令:

juju deploy mysql --to 0
juju deploy rabbitmq-server --to 0
juju deploy --config=openstack.cfg keystone --to 0
juju deploy --config=openstack.cfg nova-cloud-controller --to 0
juju deploy --config=openstack.cfg cinder --to 0
juju deploy nova-compute --to 0
juju deploy glance --to 0
juju deploy openstack-dashboard --to 0

juju add-relation keystone mysql

juju add-relation nova-cloud-controller mysql
juju add-relation nova-cloud-controller rabbitmq-server
juju add-relation nova-cloud-controller glance
juju add-relation nova-cloud-controller keystone

juju add-relation cinder nova-cloud-controller
juju add-relation cinder mysql
juju add-relation cinder rabbitmq-server
juju add-relation cinder keystone

juju add-relation nova-compute mysql
juju add-relation nova-compute:amqp rabbitmq-server:amqp
juju add-relation nova-compute glance
juju add-relation nova-compute nova-cloud-controller

juju add-relation glance mysql
juju add-relation glance keystone

juju add-relation openstack-dashboard keystone

juju expose openstack-dashboard
juju expose nova-cloud-controller
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我曾经--to 0说过我希望它们都在同一个节点上。我可以开始一切,但在链接所有关系后,我收到此错误:

hook failed: "shared-db-relation-changed"
Run Code Online (Sandbox Code Playgroud)

我还在其中一个日志中显示一条错误消息,指出该用户和该 ip 的访问被拒绝。

我相信问题是 juju 告诉其他服务 IP 是 192.168.2.101,但是 mysql 将用户设置为 127.0.0.1,这意味着他们无法连接。

有任何想法吗?

其他事情:

  • 这有望用于工作中的私有云,有六个左右的实例。
  • 我不想使用 devstack,因为每个人都一直说这不适用于生产。

Mar*_*ppi 7

--to没有容器化的情况下使用标志是一个非常糟糕的主意。我们把这个比喻为“绿巨人粉碎”。基本上,您将大量服务叠加在一起,所有人都希望拥有这台机器。

那么,您可以做些什么来实现隔离并仍然将所有内容保留在一台机器上?容器化!

--to标志有一个技巧,它允许您在没有潜在灾难性碰撞的情况下进行协同定位。--to支持类似于--to lxc:0and的语法--to kvm:0,它将服务放置在列出的机器上的容器中。除了 Ceph 和 nova-compute 之外,几乎所有 OpenStack 部署中的魅力都可以安全地放置在 LXC(或 KVM)容器中。Nova-compute 因为它本身会提供 VM(而 LXC 中的 KVM 很奇怪)和 Ceph,因为它需要拥有磁盘。您可以在没有 Ceph 的情况下进行 OpenStack 部署,所以这不是问题,您可以嵌套 KVM,因此在 KVM 上进行 nova-compute 以创建 KVM(或 LXC)应该可以工作。

在这一点上,一切都与性能有关,使用此设置您不会真正获得很多。但是,它应该足以试行该过程。