chef-serverに接続できなくなった時の対応メモ
以下のようなメッセージが出てknifeもchef-clientもうまく動作しないことがある。
ERROR: Connection refused connecting to fedora16:4000 for /clients, retry 5/5 Failed to authenticate. Ensure that your client key is valid
こういった場合はchef-server落ちている可能性がある。
プロセスを確認して落ちていたら起動する。
# /etc/init.d/chef-server start Starting chef-server (via systemctl): [ OK ]
OKは出るがプロセスが存在しない場合。
couchdbに接続できていない可能性がある。
server.rbのLOGの項目をdebug変更して再度起動スクリプトを実行
log_level :debug log_location "/var/log/chef/debug.log"
以下のようなLOGが出力されていたらcouchdbに接続できていない。
プロセスもcouchdbが存在するか確認しておく。
[2013-01-24T14:30:54+09:00] DEBUG: Sending HTTP Request via GET to localhost:5984/_all_dbs [2013-01-24T14:30:54+09:00] ERROR: Connection refused connecting to localhost:5984 for /_all_dbs, retry 1/5
念の為、chef周りもひと通り再起動。
/etc/init.d/chef-server stop /etc/init.d/chef-expander stop /etc/init.d/chef-solr stop /etc/init.d/couchdb start /etc/init.d/chef-solr start /etc/init.d/chef-expander start /etc/init.d/chef-server start
これで正常に起動できた。
debug.logにも以下のような出力が。
[2013-01-24T15:01:34+09:00] DEBUG: ---- HTTP Status and Header Data: ---- [2013-01-24T15:01:34+09:00] DEBUG: HTTP 1.1 200 OK [2013-01-24T15:01:34+09:00] DEBUG: content-type: application/json [2013-01-24T15:01:34+09:00] DEBUG: date: Thu, 24 Jan 2013 06:01:34 GMT [2013-01-24T15:01:34+09:00] DEBUG: server: CouchDB/1.0.2 (Erlang OTP/R14B) [2013-01-24T15:01:34+09:00] DEBUG: content-length: 18 [2013-01-24T15:01:34+09:00] DEBUG: cache-control: must-revalidate [2013-01-24T15:01:34+09:00] DEBUG: ---- End HTTP Status/Header Data ----
相変わらずchef-clientで以下のようなエラーが出る場合。
[Thu, 24 Jan 2013 15:57:42 +0900] INFO: HTTP Request Returned 409 Conflict: Client already exists [Thu, 24 Jan 2013 15:57:42 +0900] INFO: HTTP Request Returned 403 Forbidden: You are not allowed to take this action.
knifeコマンドでクライアントを削除してchef-clientを実行する。
knife client delete 【クライアント名】
またはknifeコマンドでclient 設定をやり直す
knife counfigure -i ※設定内容適宜入力する