読者です 読者をやめる 読者になる 読者になる

自分メモ:knife-ec2 が DEPRECATION メッセージを出すときは multi_json を突っ込む

つい数日前から knife-ec2 を使い始めました。
chef-client は使わないのですが、コマンドラインからえいやっとインスタンスを作ったり壊したりできるので非常に便利です。

で、タイトルの話なんですが、knife-ec2 を使うといつもこんな Deprecation メッセージが出てました。

$ knife ec2 server list
[DEPRECATION] Defaulting to json library for json parsing. Please consider using multi_json library for the greatest performance/flexibility.
Instance ID  Name  Public IP  Private IP  Flavor  Image  SSH Key  Security Groups  State
...

うまく動いているし…ととりあえず一旦脇においておいたんですが、ちょっと余裕ができたので調べてみました。

どうやらこのメッセージは Cloud Service Library である Fog が出しているもので、
multi_json gem が使えない場合にこのメッセージを出しているようです。
というわけで、multi_json gem を突っ込むとこのメッセージは出なくなります。

$ gem install multi_json
Fetching: multi_json-1.7.3.gem (100%)
Successfully installed multi_json-1.7.3
Parsing documentation for multi_json-1.7.3
Installing ri documentation for multi_json-1.7.3
1 gem installed
$ knife ec2 server list
Instance ID  Name  Public IP  Private IP  Flavor  Image  SSH Key  Security Groups  State
...

ちなみに、いまイシューをみてたら 2週間前ぐらいに multi_json に依存するよう修正がなされていたようです。
次のリリースからはこのメッセージともおさらばですね。

徒労感が出てきたので、ちょっとトイレで泣いてきます。