webentwicklung-frage-antwort-db.com.de

Hook fehlgeschlagen: "shared-db-relation-changed" bei Verwendung von OpenStack im selben System wie Juju / MAAS

Ich habe versucht, OpenStack auf 14.04 mit einem Computer einzurichten. Ich habe es geschafft, MAAS-Setup und JUJU mit zwei Computern zu booten, einem Computer mit MAAS und einem anderen Knoten, auf dem ich Openstack einrichten möchte. Ich habe gelesen, es kann getan werden, aber ich habe Probleme, im Grunde nachdem ich dies gelesen habe https://help.ubuntu.com/community/UbuntuCloudInfrastructure und im Internet gebuddelt habe, stellte ich fest, dass Nova-Volume veraltet ist Also habe ich versucht, stattdessen Asche zu verwenden.

Ich habe diese Befehle verwendet:

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

Wie Sie sehen, habe ich --to 0 um zu sagen, dass ich sie alle auf dem gleichen Knoten haben möchte. Ich kann alles anfangen, aber nach dem Verknüpfen aller Beziehungen erhalte ich diesen Fehler:

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

Ich habe auch in einem der Protokolle eine Fehlermeldung, dass der Zugriff für diesen Benutzer und diese IP verweigert wurde.

Ich glaube, das Problem ist, dass juju den anderen Diensten mitteilt, dass die IP 192.168.2.101 lautet, aber dann richtet mysql die Benutzer mit 127.0.0.1 ein, was bedeutet, dass sie keine Verbindung herstellen können.

Irgendwelche Ideen?

Andere Dinge:

  • Dies wird hoffentlich für eine private Cloud bei der Arbeit mit etwa einem halben Dutzend Instanzen verwendet.
  • Ich möchte Devstack nicht verwenden, da jeder sagt, dass das nicht für die Produktion ist.
4
Tim Perry

Mit --to Flagge ohne Containerisierung ist eine wirklich schlechte Idee. Wir haben dieses "Hulk Smashing" verglichen. Grundsätzlich überlagern Sie eine Vielzahl von Diensten, von denen alle erwarten, dass sie die Maschine besitzen.

Was können Sie also tun, um die Isolation zu erreichen und trotzdem alles auf einem Computer zu lassen? Containerisierung!

Das --to flag hat eine Finesse, die es Ihnen ermöglicht, Co-Location zu machen, ohne die Gefahr von katastrophalen Kollisionen. --to unterstützt eine Syntax wie --to lxc:0 und --to kvm:0, wodurch der Dienst in Containern auf der aufgelisteten Maschine abgelegt wird. Mit Ausnahme von Ceph und nova-compute können fast alle Reize in der OpenStack-Bereitstellung sicher in LXC- (oder KVM-) Containern abgelegt werden. Nova-compute, weil es selbst VMs bereitstellt (und KVM in LXC ist komisch) und Ceph, weil es eigene Festplatten benötigt. Sie können eine OpenStack-Bereitstellung ohne Ceph durchführen, das ist also kein Problem und Sie können KVM so nova-compute auf KVM erstellen KVMs (oder LXC) sollte funktionieren.

An diesem Punkt dreht sich alles um Leistung, und davon werden Sie mit diesem Setup nicht wirklich viel bekommen. Es sollte jedoch ausreichen, um den Prozess zu steuern.

7
Marco Ceppi