ChefClientのバージョンあげたらknife backupが動かなくなった

 

ChefClientのバージョンあげたあとknife backupでrestoreしようとしたらrubyでエラーが出て動かなくなった話。

今まで動いていたknife backupからエラーが

ChefServer11を新しい環境に再構築したのでknife backupでリストアしようとしたらエラーが。
knife backupはここ半年くらいバージョンアップしていないっぽいので、おそらくknife backupがおかしくなったとかではなさそう。

JSONのエラー

エラー内容を見るとJSONで未定義のメソッド呼び出しているっぽいエラー。
jsonがrequireされてない予感がしたのでコマンドラインjsonをrequireするようにオプションを追加して実行したらエラーがでなくなった。

$ ruby -rjson /{knifeのパス}/knife backup hogehoge ...

knifeの中でJSON読み込まなくなったのか、ruby入れるのサボってChefにエンベットされてるruby使いまわしてるから変なんなってるのか謎は深まるばかり(めんどいから調べてない)