16

Vagrant ファイルをいくつかのシェフ属性を持つように構成しようとしていますが、設定しようとしている属性ではなく、シェフのレシピがデフォルトを使用しているため、何か間違っているに違いありません。私のvagrantファイルの構成セクションは次のとおりです。

config.vm.provision :chef_solo do |chef|
    chef.json = {
      :mysql => {
        :server_root_password => 'password'
      },
      :nodejs => {
        :version => '0.6.14',
        :dir => '/usr/local',
        :npm => '1.1.13'
      }
    }
    chef.cookbooks_path = "config/env/cookbooks"
    chef.add_recipe "apt"
    chef.add_recipe "mongodb::10gen_repo"
    chef.add_recipe "mongodb"
    chef.add_recipe "mysql::client"
    chef.add_recipe "mysql::server"
    chef.add_recipe "nodejs"
    chef.add_recipe "nodejs::npm"
    #chef.add_recipe "mymc_service"

end

私のRubyは間違っていますか、それとももっと良い方法がありますか?

4

2 に答える 2

21

私はVagrant、Ruby、およびChefの初心者ですが、これが私にとってうまくいきました:

config.vm.provision :chef_solo do |chef|
    chef.json = {
        "mysql" => {
            "server_root_password" => "password"
        }
    }
    chef.add_recipe "mysql" # etc
end
于 2012-05-11T15:40:42.197 に答える
3

私は最近、この同じ問題に遭遇しました。マイクの答えは私の問題を解決しませんでしたが、おそらく新しいバージョンの Vagrant/Chef が原因で、正しい方向に向けられました。以下は、MySQLサーバーが機能するために私がしなければならなかったことです:

config.vm.provision :chef_solo do |chef|
    chef.json = {
        :mysql => {
            :server_root_password => "password",
            :server_repl_password => "password",
            :server_debian_password => "password"
        }
    }
    chef.add_recipe "mysql::server"
end
于 2012-12-13T18:29:04.477 に答える