11
votes

Est-il possible de déboguer des recettes de chefs de la boîte vagabonde?

Je me débats avec les recettes de chef pour une boîte vagabonde. J'utilise Chef-Solo.

Je ne suis pas si à l'aise avec Ruby (je ne l'ai jamais utilisé auparavant), le processus d'écriture de mes recettes est donc très long si je dois faire Provision Vagrant à chaque fois.

Y a-t-il un moyen de déboguer une recette spécifique? Même à partir de la coque de la machine virtuelle.

J'ai vu que Chef-shell existe ( http: // docs .OPSCODE.COM / CHEF_SHELL.HTML ), et je peux le lancer (ça fonctionne) lorsque je suis à l'intérieur de la machine virtuelle, mais je ne comprends pas comment charger mes recettes et les tester.


0 commentaires

4 Réponses :


4
votes

Vous pouvez utiliser Chef-Solo directement à partir de la coque de votre VM, mais cela nécessite une structure de fichier différente de celle que vous avez déjà pour Vagrant.

On dirait un peu ce qui est fait ici :

  • Vous avez besoin de votre répertoire de livres de cuisine
  • Vous avez besoin d'un fichier .json contenant toutes vos données qui réside dans chef.json dans votre VagrantFile
  • Et vous avez besoin d'un script Ruby Wrapper / StartUp comme celui du poste ci-dessus.

    En général, essayez de rechercher des tutoriels qui expliquent Chef-Solo sans vagabond.


0 commentaires

8
votes

En plus de l'entrée ci-dessus, qui est exécutée; -)

RUNING CHEF-SOLO EN MODE DE DEBUG (Activer la sortie de débogage) aidera définitivement.

Par exemple

CHEF-SOLO -C SOLO.RB -J NODE.JSON -L DÉBUG


1 commentaires

Vérifiez que le dossier / TMP / il devrait y avoir Vagrant compilé Solo.Rb JSON Configuration que vous pouvez utiliser



5
votes

Si vous exécutez Chef-Solo à l'intérieur de la vagabonde, des arguments personnalisés supplémentaires (pour la journalisation / le débogage) peuvent être injectés du VagrantFile comme ceci:

 Vagrant.configure("2") do |config|
    # ...
    config.vm.provision :chef_solo do |chef|
      chef.arguments = '-l debug'
      # ...
    end
 end


0 commentaires

30
votes

La manière appropriée d'activer la sortie de débogage dans le film Vagrant Proposter est avec Chef.Log_level, non avec le chef-solo manuellement ou avec chef.Arguments:

Vagrant.configure("2") do |config|
  # ...
  config.vm.provision :chef_solo do |chef|
    chef.log_level = :debug
    # ...
  end
end


0 commentaires