--- title: Chef Clientの12.0.0で後方互換性が失われていたようだ (12.0.0-1で修正済み) author: kazu634 date: 2014-12-09 wordtwit_posted_tweets: - 'a:1:{i:0;i:5553;}' wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";s:1:"1";s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:5553;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' tmac_last_id: - 559360310189236224 categories: - chef --- Chefを使ってノードの構築を実施していたら、なぜか``NoMethodError: undefined method `path' for Chef::Resource::Execute``というエラーが…なぜ起きているのかを調べていくと、Chef Clientのバージョンアップによって、後方互換性が失われたのが原因と判明。まとめると: ## 事象 ``NoMethodError: undefined method `path' for Chef::Resource::Execute``が表示され、Chefによるノード構築が実施できない。 ## 原因 Chef Clientの最新バージョンで後方互換性が失われるようなバグが混入したため ## 対策 対策を施した Chef Client 12.0.0-1 をインストールする。knife solo でバージョン指定するには、以下のように指定すればいいみたい:
bundle ex knife solo bootstrap ユーザー名@ホスト名 --bootstrap-version 12.0.0-1## 参考 * NoMethodError: undefined method `path’ for Chef::Resource::Execute · Issue #2545 · opscode/chef * ChefのMySQLクックブックでNoMethodError: undefined method `sensitive' for Chef::Resource::Executeの対処 | Yucchiy's blog