[Chef]"No resource or method named bash"の原因と対処法
bash "hostname command" do
code <<-EOT
hostname #{node["net"]["fqdn"]}
EOT
end
"No resource or method named bash"
みたいなエラーが出ることがあります。これ結構わかりにくいですよね。
「いやいや、"bash"という名前のresourceはあるでしょ」って突っ込みたくなります。
原因
attributesに値が未設定のときにこのエラーが出ます。上記の例でいうと、#{node["net"]["fqdn"]}が未定義なのが原因です。
attributes/default.rb とか nodes/*.json ファイルなどで値を定義してあげましょう。
カテゴリ:
Chef