12.04はうっかり32bit版でした。14.04へのアップグレードがてら、クリーンインストールすることにしました。管理画面からポチポチしてOSのインストールは完了。CookはあらかじめVirtualBoxとEC2で確認していたので万全です(キリッと思いきや、いつまでたってもRecipeが処理されません...。11.16.2(ここでダンマリ)これまた仕方がないので、サーバ側の/opt/chef/embedded/lib/ruby/gems/1.9.1/gems以下をprintfデバッグ(というかpデバッグか)で調べたところ、Chefがサーバ情報を取得するときに使うOhaiのGCEプラグインから返ってこないことがわかりました。なんでChefが?で、結論から言うと、GCEプラグインをOFFにしたら解決しました。prepareのあとに/opt/chefが作られるので、/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-7.4.0/lib/ohai/config.rbを以下のように修正。cookするだけです。solobootstrapは出来ないことになります。/home/masutaka/chef-solo/dna.jsonのようなchef-soloコマンドを実行します。ローカルの.chef/knife.rbに書いても無視されました。いうわけで、今はprepareをした後はサーバにログインしてファイルを書き換え、そのあとにcookというイマイチなことをしています。さくらのVPSだけダンマリになるのか?/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ohai-7.4.0/lib/ohai/mixin/gce_metadata.rbのここに違いがありました。さくらはこの行に来る。falseportは80、addrはmetadata.google.internalです。降処理されないのでしょう。さくらはそれ以降処理され、無限ループに入り込んでしまいます。irbでも再現出来ました。さくら以外は例外が発生しています。さくらは壊れた文字列が返ってきます。"\u0002\u0000\u0000PEャノミ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"pingでも違いあり。data.さくらのDNSサーバはさくら奨励の133.242.0.3と133.242.0.4を指定。DNS(8.8.8.8と8.8.4.4)に変えても変わらず。ここで調査は行き詰まり。cookが面倒になってしまったのは残念。ブラジルの人も困っていました。同じ現象でハマっていて、この記事の方法で回避できたそうです。