シェフの料理本(apache2用)があります。1つのノードでは機能しません。だから私はそれを微調整して更新しようとしていますが、ノードは新しいバージョンをダウンロードしていないようです。ローカルマシンからchefサーバーにすべてをアップロードすることができましたknife upload .
。これは成功し、変更したapache2クックブックのビットをアップロードしたことが出力されます。
chef-client
ノードで(ルートとして)手動で実行すると、サーバーに接続したり、実行リストを取得したりすることがわかります。ただし、のレシピファイル/var/cache/chef/cookbooks/apache2
は古いファイルです。そして、レシピは失敗します(私が行った変更がないため)。
ノードのchefクライアントに、apache2クックブックの新しく更新されたバージョンを使用させるにはどうすればよいですか?クックブックでバージョン番号を上げる必要がありますか(私はこれを行っていません)?
chef-client -l debug
出力:
[2015-01-30T10:51:31+01:00] DEBUG: Synchronizing cookbook apache2
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_ldap.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_xsendfile.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_auth_openid.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_setenvif.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_python.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_authz_host.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_proxy_ajp.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_expires.rb, as the cache is up to date.
(lots of this for all files)
私はシェフが初めてなので、初心者の間違いをしたかもしれません。
knife cookbook upload <cookbook_name>
。それでも解決しない場合は、バージョンknife cookbook list <cookbook_name>
を上げて実行し、本当に正しくアップロードされていることを確認してください。または、knife cookbook download
(別のディレクトリで)を実行して、サーバーが適切なコードであると考えているものをプルダウンします。