Juju/MAAS と同じシステムで OpenStack を使用している場合、フックが失敗しました: 「shared-db-relation-changed」

Juju/MAAS と同じシステムで OpenStack を使用している場合、フックが失敗しました: 「shared-db-relation-changed」

私は1台のマシンを使って14.04でOpenStackをセットアップしようとしています。MAASをセットアップし、JUJUを2台のマシンでブートストラップしました。1台はMAAS用、もう1台はOpenStackをセットアップしようとしているノードです。できると読んだのですが、基本的にこれを読んだ後、問題が発生しています。https://help.ubuntu.com/community/UbuntuCloudInfrastructureインターネットで調べてみると、nova-volume は非推奨であることがわかったので、代わりに cinder を使用するようにしています。

私は以下のコマンドを使用しています:

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

ご覧のとおり、私は--to 0これらすべてを同じノードに配置するようにしています。すべてを開始できますが、すべての関係をリンクした後、次のエラーが発生します。

hook failed: "shared-db-relation-changed"

また、ログの 1 つに、そのユーザーと IP へのアクセスが拒否されたことを示すエラー メッセージも表示されています。

問題は、juju が他のサービスに IP が 192.168.2.101 であると伝えているのに、mysql がユーザーに 127.0.0.1 を設定するため、接続できないということだと思います。

何か案は?

他のもの:

  • これは、6 個程度のインスタンスを備えた職場のプライベート クラウドに使用される予定です。
  • みんなが devstack は本番環境向けではないと言っているため、私は devstack を使いたくありません。

答え1

コンテナ化せずにフラグを使用するの--toは、本当に悪い考えです。私たちはこれを「ハルクスマッシング」に例えました。基本的に、マシンを所有することを期待する大量のサービスを互いに重ね合わせていることになります。

では、分離を実現しながらすべてを 1 台のマシン上に保持するにはどうすればよいでしょうか。それはコンテナ化です。

この--toフラグには巧妙なところがあり、壊滅的な衝突の可能性なしに共存を行うことができます。 は、--toや などの構文をサポートしており--to lxc:0--to kvm:0これはサービスをリストされたマシン上のコンテナーに配置します。 OpenStack デプロイメントのほぼすべてのチャームは、Ceph と nova-compute を除いて、LXC (または KVM) コンテナーに安全に配置できます。 Nova-compute は、それ自体が VM をプロビジョニングするため (LXC 内の KVM は奇妙です)、Ceph はディスクを所有する必要があるためです。 Ceph なしで OpenStack デプロイメントを実行できるため、これは問題ではありません。また、KVM をネストできるため、KVM 上の nova-compute で KVM (または LXC) を作成すると機能するはずです。

この時点ではパフォーマンスがすべてであり、この設定ではそれほど多くのパフォーマンスは得られません。ただし、プロセスを試験するには十分なはずです。

関連情報