ようへいの日々精進XP

よかろうもん

ツイートと github で振り返る Chef Casual Talks Vol.2(1)

要件

  • Chef Casual Talks Vol.2 で強者シェフ達の知恵を拝借する
  • Chef を使っていく上で今後、自分が何をすべきかを再確認する
  • また、自分も喋る
  • ちょこちょこ追記していきます...

メモ

  • githubに Markdown で纏めてみました

いきなりまとめ(感じたこと)

  • TestKitchen や Foodcritic、chefspec や serverspec 等のテストツールの習得は必須(だと思う)
  • LWRP や data bag は積極的に使うようにする
  • knife プラグイン等、これからも周辺のツールは Chef の利用者が増えると共に充実していくんだろうなあ
  • 痒いところに手が届く、そんなツールの誕生は待っていても生まれない、自分で作る
  • ツイートや Blog もいいけど困ったことや改善案は直接 Opscode なり、作者にリクエストを送ろう!(オー!)
  • Chef の歴史は多少あるにせよすでにガチガチの運用フェーズの方々もいる中で、まだ試行錯誤されている方々もいらっしゃる
  • 運用に乗っけてみて初めて判ること、運用してきてカオスになってしまうことがある
  • 一定のルールと cookbook をレイヤー化する
  • Windows で Chef という選択肢もきっとあり?

内容

@yando さんの Raspberry Pi からの foodcritic のお話。foodcritic のルールを日本語訳と主なルールの紹介とルールから読み取る正しい cookbook の書き方。細かい話かもしれないけどパーミッションを書くときには 5 桁が正しいとか「ほーそうなんだ!」

@tk0miya さんがご自身の chef-solo のイケてない部分解決するべく作られたツールの紹介。capistrano を使って chef-solo のインストールから cookbook の転送等を行なってくれるツール。knife には無い機能として並列処理や Windows での利用も可能とのこと。また、paratrooper-chef の knife プラグインを書く際にハマった点(1.gem の名前が chef で終わる 2.バージョンが 3 つの数字で構成されているこれらのの場合には gem からロードされない)

はるばる関西から来られた @sawanoboly さんの knife plugin の作り方。「孤独な chef も、これでもう孤独では無い」というコンセプト(?)を元に作られた knife-twitter を題材として knife plugin の作り方のポイントを紹介。Ruby のことはよく理解出来ていないけど、作り方としてはシンプルなのかなーという印象。ちなみに自分もほんの少しだけお手伝いさせて頂きましたwしばらくはこれで呟きますw

@takipone さんが実務にて service リソースで squid を再起動させてみたらうまく再起動してくれないお話squid は再起動の際に 30 秒間待ってから stop start する仕様らしく、回避策として 30 秒間待たないように設定した上で運用されているとのこと。その場でかわされた議論としては、そもそも再起動をさせずに設定ファイルを置くところまでを Chef でさせるとか、apache2 の cookbook のように restart_command を置き換えてしまう等が意見として出ていた。

ツイートはされていないけど、Debian デベロッパーの樋口さんの「LWRPを活用しようとしてみた件」(資料探してます...)(共有ありがとうございます @urasoko さん)ではfoodcritic では Difinitions は非推奨となり 代わりに LWRP が推奨されているもののドキュメントが少ない!とのことで issues に投げてみたお話。「blog や twitter では届かない」「どんどん報告しましょう」に反省。

長くなりそうなので、後半に続く...