vagrant + chef 勉強会に参加しながら、内職してた話。

vagrant + chef 勉強会に参加した話

Twitter で偶然見かけた vagrant + chef 勉強会に参加してきました。
これまで、あまり chef 使いと交流することなく、ひとりでこつこつやっていたので、
「こんなふうに使ってるよ」とか「こんなプラグインいいよ」みたいな話をキャッキャできて非常に満足度が高い会でした。

周りの話を聞いた感じでは、まだ使い始めたばかりであったり、個人的に使っているという話が大半で、
ギョームで使うという流れにはまだまだ遠いようです。
この前の pyfes のときにも触れたのですが、chef を本格的に使っていくには
周囲を巻き込んでいく必要があるので、もっと普及していかないといけないんだなあ、と感じます。

そのためには、まずは情報を増やす、個人的に使ってるという人を増やすというあたりが必要になるのでしょうね。
その次に(並行して?) 事例とかを集めていくことになるのでしょう。
僕もお仕事でやっている chef 情報を公開できるよう努めていこうと思いました。

内職してた話

勉強会自体は vagrant と chef のハンズオンをベースに進めていたので、
僕はこつこつと内職(roundsman hack)を進めていました。

ひとつは roles ファイルを対象サーバに転送するようにする修正です。
いま roundsman は roles ファイルを転送していないので、run_list にロールを指定することができません。
これまでは roundsmanを使ってcapistranoからchef-soloを実行する を参考にしていたのですが、
chef-solo 本を読んでこのやり方がロールではない (ロールっぽい何か)であることに気付かされました orz
こいつはさくさく作れるので、パッチ投げ済み

もうひとつは、capisrano の role をもとに、自動的に chef の role を選択するという修正です。
capistrano

role :app, "app01"
role :web, "web01"

という定義をした時に、app01 には app ロールを、web01 には web ロールを、それぞれ適用するというものです。
capistrano で対象ホストとその役割を定義するので、それを chef にも応用しようという狙いです。

こいつはとりあえず実装は完了してあるので、コードを整理してからパッチを投げようと思っています。

メモ

  • vagrant 1.1 系にしてハマっているのを見た
  • vagrant 1.1 系ではまだ動かないプラグインが多くてイマイチ。sahara が動かないとかありえない…
  • 個人的に使っている人がおおいためか、chef-server 使いは少ない
  • knife-solo 使いが多い
  • みんな naoya さんの chef-solo 本を買ってる (読んでる人は半分ぐらい)
  • community cookbook はあまり使ってない人もいる
  • chef 使いは割と孤独 (まわりに理解されづらい)