レシピを書いて実行する

レシピを書く部分は前と同じなんだろうなと。

レシピを書く

recipes/hello.rb をつくる。やはり、Hello, World でしょう。

実際に動かしたときにレシピはあるけど、それを実行させる必要があるのでランリストをつくります。

これは .kitchen.yml に書いてやります。現状では、suites: の中の namedefault であるものの run_listrecipe[cheftest::default] が設定されています。ということで run_list に追加しますが、さっきのレシピは recipe[cheftest::hello] と表記するみたいです。recipe[::] ということなんでしょうか。ということで追加したファイルはこんな感じです。

動かしてみる

ここで、一連の操作をおこないます。kitchen コマンドに converge サブコマンドを与えて実行です。

ということで、ERROR を吐いているのが気になりますが、ファイルは生成されているようです。

一瞬無いかと思いましたが、ファイルのパス指定の問題です。

ありました。では、recipe/hello.rb を修正してみます。

再度実行してみます。

書き換わっています。さすが Chef だ。

エラーの原因

さて、kitchen converge したときのエラー「ERROR: Error connecting to https://supermarket.chef.io/universe, retry 1/5」ですが、名前が引けていません。
ubuntu 16.04 で DNS masquerade があると名前解決の一発目で失敗することが頻発します。/etc/NetworkManager/NetworkManager.conf を修正します。dns=dnsmasq の行をコメントアウト(#dns=dnsmasq)します。そして、sudo service network-manager restart しておきます。

コメントを残す

あなたのコメント