chef-server-ctl reconfigure を繰り返すときの注意点
執筆時に使用した chef-server のバージョンは、以下のとおりです。
$ rpm -q chef-server
chef-server-11.1.6-1.el6.x86_64
chef-server のセットアップをしている時に、
$ chef-server-ctl reconfigure
を打つと、
$ ls -1 /etc/chef-server/ admin.pem chef-server-running.json chef-server-secrets.json chef-validator.pem chef-webui.pem
のようなファイルができると思いますが、
chef-server を入れなおして、
rm -rf /etc/chef-server
を実行して、もう一度 chef-server-ctl reconfigure を実行したら、
$ ls -1 /etc/chef-server/ chef-server-running.json chef-server-secrets.json
pem ファイルが生成されませんでした。
/opt/chef-server/embedded/cookbooks/chef-server/recipes 以下を見ると、
/var/opt/chef-server 以下にいろいろファイルがあって、
それらがあると skip するようになっていました。
これらを clean する方法ですが、
chef-server-ctl のサブコマンドを見てみると、
cleanse というものがありました。
$ chef-server-ctl -h ... cleanse Delete *all* chef-server data, and start from scratch. ...
これを実行すると、
process を落として、/var/opt/chef-server を削除し、
/etc/chef-server を $HOME/chef-server-cleanse-YYYY-MM-DDThh:mm に移動してくれます
(/opt/chef-server/embedded/lib/erlang/erts-5.9.3.1/bin/epmd -daemon だけは落としてくれませんでした)。
あとは、chef-server を入れなおして、
$ chef-server-ctl reconfigure
を実行すると、/etc/chef-server 以下に pem ファイルが生成されます。
chef-server-ctl cleanse を実行後に、chef-server-ctl reconfigure しても期待した通りの動作をしてくれました。