makotan _at_ gmail dot com

knifeとrecipeのsearchコマンド

たとえば
登録されてるはずのnodeを探すとき
特定のroleを登録しているnodeを探すとき
そんなときには、 knifeとrecipe の search コマンドが便利

登録されてるはずのnodeを探すとき

node名の一部は判るけど・・・あれなんだっけなぁ〜 chef server見たくないしなぁ〜って時用

knife search node "name:*hoge*"

特定のroleを登録しているnodeを探すとき

このroleってどのnodeが使ってたっけ??みたいなとき

knife search node "role:hoge"

他にも

node以外にもclient、DATA_BAG_NAME、environment、roleが探せる
一言で言うとuser以外全部っすw

応用

recipeの中でこんな風に検索出来るので・・・

nodes = search(:node, "role: mongodb AND environment: #{currentEnvironment}")

自分の居る環境の特定のroleで設定したサーバの情報を使って環境設定なんて事がこれで可能に!

参考

http://docs.opscode.com/essentials_search.html
毎度の事ながらすべての情報はこちらに載ってますw