Environnement
Je travaille pour IBM et j'essaie de créer un prototype de netboot (pxe) pour ubuntu. Cette question est utilisée pour identifier un problème rencontré lors de l'utilisation de juju pour déployer le bundle https://jujucharms.com/u/openstack-charmers-next/openstack-base/4 . Le bundle déploie tous les services nécessaires (openstack, rabbitmq, ceph, mysql (percona) et ainsi de suite. Malheureusement le bundle openstack 40 prêt à l'emploi échoue lors du déploiement de mysql/percona.
Problème
Lors de la configuration de percona pour mysql, il échoue en raison de
Impossible de définir le mot de passe pour l'utilisateur "root" de Percona Server
Le message ci-dessus apparaît dans le journal de mysql sur le nœud/la machine qui exécute le conteneur lxc pour mysql/percona.
Si vous utilisez le statut juju, vous verrez ceci:
mysql:
charm: cs:~openstack-charmers-next/trusty/percona-cluster-7
exposed: false
service-status:
current: error
message: 'hook failed: "install"' <=====================
since: 14 Oct 2015 16:19:51Z
relations:
cluster:
- mysql
units:
mysql/0:
workload-status:
current: error
message: 'hook failed: "install"' <=====================
since: 14 Oct 2015 16:19:51Z
agent-status:
current: idle
since: 14 Oct 2015 16:19:51Z
version: 1.24.6
agent-state: error
agent-state-info: 'hook failed: "install"'
Résolution
Cela montre un exemple de la façon de le réparer en utilisant un bundle autonome uniquement pour mysql (percona). Fondamentalement, il faut autoriser le paquet openstack40 à aller jusqu'au point d'échec du charme de mysql et ensuite vous devez réparer les choses. Vous trouverez ci-dessous l'exercice que nous avons effectué pour que seul le charme mysql (percona) fonctionne après le problème. Remplacez simplement percona.yaml par openstack yaml que vous utilisez. Notez que pour ppc64le, vous devez obtenir le yaml openstack 40 et le mettre à jour vers Arch = ppc64el car le bundle openstack 40 du magasin de charme n'est pertinent que pour x86.
Déployer mysql/percona
juju-deployer -c /root/.juju/bundles/percona.yaml -s 90 -d -v
Frappez le problème de mot de passe mysql. Le problème répertorié ci-dessus.
Définir le mot de passe dans le conteneur mysql
chroot /var/lib/lxc/juju-machine-0-lxc-1/rootfs/
passwd root
---> pour le mot de passe POC: xxxxxxxx
exit
Notez que nous listons lxc machine juju-machine-0-lxc-1 dans l'exemple. Ce doit être le lxc sur lequel mysql se déploie.
Connectez-vous au conteneur
lxc-console -n juju-machine-0-lxc-1
Correction d'un problème
UPDATE mysql.user SET Password=PASSWORD('PASSW0RD') WHERE User='root';
FLUSH PRIVILEGES;
exit
Tell juju fixed charm
juju resolved mysql/0 --retry --show-log --debug
Redrive, montre que les étapes précédentes sont déployées et se poursuit à partir d'un échec de charme.
juju-deployer -c /root/.juju/bundles/percona.yaml -s 90 -d -v