limitusus’s diary

主に技術のことを書きます

Chef15になったらTravis CIが全部コケた

掲題の通りです。かなしい。

ログを確認してみたところ、Chefのライセンスに同意する?っていうプロンプトが出ているようでした。

gist6e5b13d2544dbcc89235005714909790

 きっとtest-kitchenにissueあるでしょ、と思って確認してみたところ、やはりありました。

github.com

どうやら今までは環境変数でライセンスに同意できていたところができなくなった、というものだった模様。

コメントで「こうやったらできたよ」っていうのがありました

gist955d4b43a90d2ac8b2114fa3f4ce2bf5

その後メンテナのtas50氏から「Chefのライセンス同意はtest-kitchen v1系では対応してないからバックポートすることにするわ」というコメントがつき、対応するPull Requestが作成されました。

github.com

test-kitchenの依存をv2系にしても手元ではテストを通せますが、Travis上でインストールされるChefのgemには入れていないのでこれだけでは直らず…

Travisで動くtest-kitchenのバージョンを上げること自体は問題ないと判断し、embedded chefのRubyに最新のtest-kitchenをインストールしました。

github.com

注意点としては chef shell-init している時点でEULAの同意が必要となるため、global環境変数を設定しておくことくらいでしょうか。

これでkitchen testしてみたところ、無事ライセンスに同意できてテストが走りました。めでたしめでたし。