1

私の最初の放浪シェフのソロ レシピを書くとき、ホスト名を変更するなど、簡単なことを考えました。vagrant ファイルには、これがあります。

  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = "../../chef/cookbooks"
    chef.roles_path = "../../chef/roles"
    chef.data_bags_path = "../../chef/data_bags"

    chef.json = { :hostname => "foofoo" }
    chef.add_recipe "myrecipe"

myrecipe/recipes/default.rb;

myvar = node[:hostname]

template "/tmp/myfile" do
    source "myfile.erb"
    owner "root"
    group "root"
    mode 0644
    variables(
        :myvar => myvar
    )
end

myrecipe/templates/default/myfile.erb;

<%= @myvar %>

これは実際には機能しません。/tmp/myfile は、/etc/hostname からの実際のホスト名で終了し続けました。しばらく頭を悩ませた後、これらの変更を思いつきました。

vagrant ファイル内。

chef.json = { :myhostname => "foofoo" }

レシピファイルで;

myvar = node[:myhostname]

したがって、「:hostname」はどういうわけか特別なようですが、試してみると、その理由、オーバーライド方法、または利用可能な他の「特別な」値を説明するドキュメントが見つかりません。

ドキュメントのほとんどは、私がまだ到達していないレベルの能力を想定しているようです。だから、私は答えを見て、それを認識していなかったかもしれません。これを説明する「絶対的な初心者」のドキュメントを誰かに教えてもらえますか?

4

1 に答える 1