Sto cercando di configurare il mio file Vagrant per avere alcuni attributi di chef, ma devo fare qualcosa di sbagliato perché le ricette dello chef usano i valori predefiniti invece degli attributi che sto cercando di impostare. Qui è la mia sezione di configurazione del mio file vagabondo:Attributi Chef file 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
È il mio rubino sbagliato o c'è un modo migliore per fare questo?
Mike, tu sei l'uomo! Alcuni esempi avevano i due punti davanti ai nomi delle variabili, e non sono sicuro del perché. Grazie per la soluzione! – Clint
i due punti davanti al nome della variabile sono sintassi ruby per una chiave. – jmontross
@Clint: qualcosa è un simbolo letterale in Ruby, mentre un "qualcosa" è una stringa. Sono due tipi distinti. Lo chef (almeno nella modalità client-server) tratta sia i simboli che le stringhe se utilizzati come chiavi di hash allo stesso modo, in modo che possano essere usati in modo intercambiabile. Se vuoi saperne di più sulla differenza tra stringhe e simboli vai [qui] (http://www.robertsosinski.com/2009/01/11/the-difference-between-ruby-symbols-and-strings/) . –