LoginSignup
7
7

More than 5 years have passed since last update.

Chef-Clientの実行が15分を超えるとファイル系リソースがエラーになる件の対応策2つ

Last updated at Posted at 2014-03-14

この記事は最終更新から1年以上経過しています。 気をつけてね。

FAQなので書いておく。ファイル系ってのはこのへん。

  • cookbook_file
  • template

問題の詳細はCHEF-3045のチケットで確認できます。

要約すると。

  1. Chef-Clientが実行されたら、最初にChef-Server/Client間の認証が行われる
  2. ↑の有効期限はデフォルトで15分
  3. ファイル系のリソースはCookbookロード時にはChef-Client実行NodeのCacheには落ちてこない
  4. Chef-Clientのリソース収束の段階で、必要なファイルがあったら1で作った認証情報を使ってChef-Server(Bookchelf API)に取りに行く
  5. 15分超えてたら4の挙動が403でアウトー

キャッシュがある場合はそもそも取りに行かないが、NodeでのChef-Client初回実行時、いっぺんに色々やっていると良くある。

1. Chef-Serverの認証期限デフォルト15分を伸ばす

Chef-Serverの設定ファイル/etc/chef-server/chef-server.rbで、有効期限を伸ばす。

/etc/chef-server/chef-server.rb

erchef['s3_url_ttl'] = 3600  # 例

で、設定の適用すればOK。

chef-server-ctl reconfigure

2. Chef-Clientで遅延ダウンロードを無効にする

Chef-Clientが10.28.0以降、または11.6.0以降なら、no_lazy_loadオプションが使える。

/etc/chef/client.rb
Chef::Config[:no_lazy_load] = true

こちらはChef-ClientがCookbookをダウンロードする時にfiles/templates/を除外しないオプション。
関係ないファイルも全部Nodeに落ちてくるので注意。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7