シェフには、NTPサーバーを実行している3つのインスタンスからNTPプロトコルを使って時刻を取得するbashスクリプトがあります。現在のコードはシェフでbashルーチンをどのようにループできますか?
if not node.run_list.roles.include?("ntp_server")
bash "ntpdate" do
code <<-EOH
/usr/sbin/ntpdate -s 10.204.255.15 10.204.251.41 10.204.251.21
EOH
end
end
です。これはうまくいきました。しかし、インスタンスの1つが置き換えられた場合など、上記のコードでIPを更新するための手動介入は必要ありませんなど、タスクを自動化することになっています。
これを達成するために、ntp_serverロールを実行しているインスタンスを正常に取得できました。
ntp_servers = search(:node, 'role:ntp_server')
これを実行すると、上のコードに示すbashサブルーチンにこれらのIPを追加できません。
私はそれを達成するはずですか?
ご入力いただきありがとうございます。私がやりたいことを解決することができました(以下の答えとして追加されました)が、ベストプラクティスに従うので、あなたの意見を答えとして投票したいと思っています。 – user5241806