環境
私はIBMで働いており、ubuntu用にnetboot(pxe)のプロトタイプを作ろうとしています。この質問は、jujuを使用して https://jujucharms.com/u/openstack-charmers-next/openstack-base/4 バンドルをデプロイするときに発生した問題を識別するために使用されます。バンドルは、必要なすべてのサービス(openstack、rabbitmq、ceph、mysql(percona)など)をデプロイします。残念ながら、mysql/perconaのデプロイメント中に、openstack 40バンドルをそのまま使用すると失敗します。
問題
Mysqlにperconaを設定すると、次の原因で失敗します
Perconaサーバーの「root」ユーザーのパスワードを設定できません
上記のメッセージは、mysql/perconaのlxcコンテナーを実行しているノード/マシンのmysqlのログに表示されます。
Jujuステータスを使用する場合、これは次のようになります。
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"'
解決
これは、mysql(percona)専用のスタンドアロンバンドルを使用して修正する方法の例を示しています。基本的には、openstack40バンドルがmysqlチャームの失敗のポイントに到達できるようにする必要があり、その後、問題を修正する必要があります。以下は、問題が発生した後にmysql(percona)チャームのみを機能させるために実行した演習です。 percona.yamlを、使用するopenstack yamlに変更するだけです。チャームストアのopenstack 40バンドルはx86にのみ関連しているため、ppc64leの場合、openstack 40 yamlを取得してArch = ppc64elに更新する必要があることに注意してください。
Mysql/perconaをデプロイする
juju-deployer -c /root/.juju/bundles/percona.yaml -s 90 -d -v
Mysqlのパスワードの問題を確認します。上記の問題。
Mysqlコンテナーにパスワードを設定する
chroot /var/lib/lxc/juju-machine-0-lxc-1/rootfs/
passwd root
---> POCパスワード:xxxxxxxx
exit
Lxcマシンjuju-machine-0-lxc-1の例をリストしていることに注意してください。 mysqlのデプロイ先のlxcである必要があります。
コンテナにログイン
lxc-console -n juju-machine-0-lxc-1
問題を解決する
UPDATE mysql.user SET Password=PASSWORD('PASSW0RD') WHERE User='root';
FLUSH PRIVILEGES;
exit
ジュジュ固定チャームを教えて
juju resolved mysql/0 --retry --show-log --debug
再ドライブ、前の手順が展開され、失敗したチャームから続行することを示します。
juju-deployer -c /root/.juju/bundles/percona.yaml -s 90 -d -v