web-dev-qa-db-ja.com

特定の役割を持つノード名を取得する

特定の役割を持つノードのリストを取得するにはどうすればよいですか?

それはそのようなもので得ることができます:

for node in `knife node list`; do
  [[ -n "`knife node show $node | grep $ROLE_NAME`" ]] &&  echo $node
done

バッシュオーバーヘッドなしでナイフを介してそれを行う方法はありますか?

解決策があります:

knife search node "roles:$ROLE_NAME"

「ナイフ検索」のヘッダーがstderrに出力されるので、

knife search "role:$ROLE_NAME" -i 2>/dev/null

ノードのリストを返すだけです。これをforステートメントにラップする場合に便利です。

for n in $(knife search "role:$ROLE_NAME" -i 2>/dev/null); do
  // do something here
done
0
Gary