2014-09-17 6 views
1

Je suis nouveau à Chef, que j'utilise pour provision a Vagrant box. J'ai jusqu'ici configuré pour des recettes de base comme vim et git, mais cela a engendré une longue liste d'erreurs basées sur la dépendance. J'ai gardé obligeant, mais maintenant il demande un livre de recettes Windows. Je voudrais garder cette légèreté mais je me demande si je suis dans la mauvaise direction si ça a commencé à le demander (je ne veux pas que cette boîte soit prête pour Windows!).Chef cherchant Windows bien que non désiré

Qu'est-ce que je fais de mal, si quelque chose?

Erreur:

==> default: [2014-09-17T17:29:30+00:00] INFO: Setting the run_list to ["recipe[vim]", "recipe[git]", "recipe[users::ruby_shadow]", "recipe[users::sysadmins]", "recipe[users::sysadmin_sudo]", "recipe[root_ssh_agent::ppid]", "recipe[ssh_known_hosts]", "recipe[homesick_agent::data_bag]"] from JSON 
==> default: [2014-09-17T17:29:30+00:00] INFO: Run List is [recipe[vim], recipe[git], recipe[users::ruby_shadow], recipe[users::sysadmins], recipe[users::sysadmin_sudo], recipe[root_ssh_agent::ppid], recipe[ssh_known_hosts], recipe[homesick_agent::data_bag]] 
==> default: [2014-09-17T17:29:30+00:00] INFO: Run List expands to [vim, git, users::ruby_shadow, users::sysadmins, users::sysadmin_sudo, root_ssh_agent::ppid, ssh_known_hosts, homesick_agent::data_bag] 
==> default: [2014-09-17T17:29:30+00:00] INFO: Starting Chef Run for vagrant-ubuntu-trusty-32 
==> default: [2014-09-17T17:29:30+00:00] INFO: Running start handlers 
==> default: [2014-09-17T17:29:30+00:00] INFO: Start handlers complete. 
==> default: [2014-09-17T17:29:31+00:00] ERROR: Running exception handlers 
==> default: [2014-09-17T17:29:31+00:00] ERROR: Exception handlers complete 
==> default: [2014-09-17T17:29:31+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
==> default: [2014-09-17T17:29:31+00:00] ERROR: Cookbook windows not found. If you're loading windows from another cookbook, make sure you configure the dependency in your metadata 
==> default: [2014-09-17T17:29:28+00:00] INFO: Forking chef instance to converge... 
==> default: [2014-09-17T17:29:31+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 
Chef never successfully completed! Any errors should be visible in the 
output above. Please fix your recipes so that they properly complete. 

Répondre

2

Vous devez encore le livre de cuisine de fenêtres, car il est une dépendance de quelque chose que vous utilisez. Il n'utilisera aucune recette de ce livre de cuisine, mais il doit être chargé. Je recommande d'utiliser Berkshelf comme il prend soin de cela pour vous dans les coulisses.

+0

Est-ce que je ne peux pas supprimer la dépendance manuellement pour la rendre plus légère? Peut-être inutile. BTW je pense qu'il y a une meilleure solution (plus contemporaine) que Berkshelf: https://sethvargo.com/the-future-of-vagrant-berkshelf/ – KindOfGuy

+1

Non, vous ne pouvez pas. Chef ne prend en charge aucune forme de dépendances facultatives ou conditionnelles. Vous devrez fourcher les livres de cuisine en amont qui en dépendent et supprimer la dépendance. Ce billet de blog est également obsolète, comme cela est clairement indiqué. – coderanger

+1

@KindOfGuy Ne vous inquiétez pas d'inclure d'autres livres de recettes de la plateforme. Idéalement, les livres de cuisine des chefs sont écrits pour être multi-plateforme. Juste parce que "windows" est importé ne signifie pas qu'il sera utilisé. Ne pas oublier ceci est la configuration pas le code. Enfin Berkshelf est un outil essentiel pour le développement du chef. –

Questions connexes